【问题标题】:extjs editable grid - clear modified records listextjs 可编辑网格 - 清除修改记录列表
【发布时间】:2011-03-31 16:28:09
【问题描述】:

嗨 我有一个可编辑的网格。一些函数修改网格中的记录。更改字段值时,会触发 onupdate 事件。 update 时执行的函数获取修改后的记录并检查修改了哪个字段:

if (record.isModified('field1')) {...}
else if (record.isModified('field2')) {...}

问题在于“isModified()”会检查上次加载网格后修改的所有字段。有没有办法清除列表或只获取最后修改的字段?

【问题讨论】:

    标签: extjs grid


    【解决方案1】:

    你看过RecordgetChanges()方法吗?它返回以下内容(来自ExtJS API documentation 的引用):

    仅获取符合以下条件的字段的哈希值 自此记录以来已被修改 已创建或提交。

    另一个选项是modified 属性,它返回以下内容:

    这个对象包含一个键和值 存储所有的原始值 修改的字段,如果没有,则为 null 字段已被修改。

    【讨论】:

    • 这是问题所在:所有这些都是从商店加载或创建记录返回修改后的记录/字段。在我的情况下,网格没有连接到数据库,所以我需要知道最后修改的字段是什么
    • 好的。那么在每次更改后调用Record.commit() 怎么样?调用 commit 重置记录的修改属性。这样,在每次更新时,上述方法只会返回最后一次修改。
    • 另请注意,调用commit() 将触发另一个update 事件,但operation 值不同(COMMIT 而不是EDIT)。检查operation,如果是COMMIT,则什么也不做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多