【问题标题】:How to get only deleted records from an Ext js Grid store?如何仅从 Ext js Grid 存储中获取已删除的记录?
【发布时间】:2013-01-19 07:25:28
【问题描述】:

我有一个网格存储,我可以使用

获取修改后的数据

var modifiedData = store.getModifiedData();

现在我想要删除记录(我正在使用 ExtJs 3)。

我尝试使用var deletedData = store.getRemovedRecords();,但我猜这个属性在 ExtJs 4 中可用。

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

【问题讨论】:

    标签: extjs extjs3 gridpanel


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 您只是发布链接,根本没有给出任何答案。链接可能会中断,那么这个答案就毫无价值了。另外:两个链接都是关于旧版本的 ExtJS (1.x / 2.x) 你应该修复你的答案
      猜你喜欢
      • 2011-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-19
      相关资源
      最近更新 更多