如何只从Ext js网格商店获取已删除的记录?

问题描述:

我有一个网格存储和我能够使用如何只从Ext js网格商店获取已删除的记录?

var modifiedData = store.getModifiedData();

现在我想删除的记录(我使用ExtJS的3)获得修改的数据。

我尝试使用var deletedData = store.getRemovedRecords();,但我想这个属性是在ExtJS的4

可我只是想获取的是从网格删除的记录。 任何帮助,将不胜感激。

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

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); 
     } 
    } 
}); 

+0

你没有给出任何你只是发布链接的答案。链接可能会中断,然后这个答案就毫无价值。另外:两个链接都是关于旧版本的ExtJS(1.x/2.x)你应该修复你的答案 – sra