2

I have a grid store and I am able to get modified data using

var modifiedData = store.getModifiedData();

Now I want to get deleted records (I am using ExtJs 3).

I tried using var deletedData = store.getRemovedRecords(); but I guess this property is available in ExtJs 4.

I just want to fetch the records that are deleted from the grid. Any help would be appreciated.

4

2 回答 2

6

默认情况下这是不可能的。

ExtJS 3.x 只能跟踪修改的记录(开箱即用)。已删除(删除)的记录将被完全删除。但是你可以做一件事;商店将触发每条记录的删除事件,记录本身作为第二个参数。您可以使用它来创建自己的已删除记录数组。我猜这个实现会很简单。您可以按实例执行此操作,也可以通过扩展创建全新的存储类型。但我想后者在这里并不真正需要。

这是一个例子。请注意,您可能需要处理其他事件来清除 removedList。

var myStore = new Ext.data.Store({
    removedList: [],
    listeners: {
        clear: function(store) {
              store.removedList =  [];
        },
        load: function(store) {
              store.removedList =  [];
        },
        remove: function(store, record, index) {
              store.removedList.push(record);
        }
    }
});
于 2013-01-20T09:31:59.677 回答
-1

检查这两个链接。他们可能会有所帮助。

http://www.sencha.com/forum/showthread.php?58888-Store-find-deleted-added-records mi http://www.sencha.com/forum/showthread.php?15671-Ext.data。持久存储

于 2013-01-19T11:54:57.047 回答