【发布时间】:2013-01-19 07:25:28
【问题描述】:
我有一个网格存储,我可以使用
获取修改后的数据var modifiedData = store.getModifiedData();
现在我想要删除记录(我正在使用 ExtJs 3)。
我尝试使用var deletedData = store.getRemovedRecords();,但我猜这个属性在 ExtJs 4 中可用。
我只想获取从网格中删除的记录。 任何帮助将不胜感激。
【问题讨论】:
我有一个网格存储,我可以使用
获取修改后的数据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);
}
}
});
【讨论】:
【讨论】: