extjs 可编辑网格 - 清除修改记录列表
Posted
技术标签:
【中文标题】extjs 可编辑网格 - 清除修改记录列表【英文标题】:extjs editable grid - clear modified records list 【发布时间】:2011-03-31 16:28:09 【问题描述】:嗨 我有一个可编辑的网格。一些函数修改网格中的记录。更改字段值时,会触发 onupdate 事件。 update 时执行的函数获取修改后的记录并检查修改了哪个字段:
if (record.isModified('field1')) ...
else if (record.isModified('field2')) ...
问题在于“isModified()”会检查上次加载网格后修改的所有字段。有没有办法清除列表或只获取最后修改的字段?
【问题讨论】:
【参考方案1】:你看过Record
的getChanges()
方法吗?它返回以下内容(来自ExtJS API documentation 的引用):
仅获取符合以下条件的字段的哈希值 自此记录以来已被修改 已创建或提交。
另一个选项是modified
属性,它返回以下内容:
这个对象包含一个键和值 存储所有的原始值 修改的字段,如果没有,则为 null 字段已被修改。
【讨论】:
这是问题所在:所有这些都是从商店加载或创建记录返回修改后的记录/字段。在我的情况下,网格没有连接到数据库,所以我需要知道最后修改的字段是什么 好的。那么在每次更改后调用Record.commit()
怎么样?调用 commit 重置记录的修改属性。这样,在每次更新时,上述方法只会返回最后一次修改。
另请注意,调用commit()
将触发另一个update
事件,但operation
值不同(COMMIT
而不是EDIT
)。检查operation
,如果是COMMIT
,则什么也不做。以上是关于extjs 可编辑网格 - 清除修改记录列表的主要内容,如果未能解决你的问题,请参考以下文章