如何告诉ExtJS Grid编辑过的数据已同步?

时间:2011-09-01 11:40:33

标签: extjs grid extjs4 sync store

我的网页上有几个网格。在我编辑数据之后,我按下Save按钮,收集所有更改并构建Ajax请求并更改服务器。一切都很好,除了一件事。数据成功更新后,我需要告诉网格重绘并刷新它的存储,意味着从商店中删除更新/创建的记录(更改显示为左上角的红色矩形)。

如果我尝试删除所有记录并再次填充它,我会收到一些ExtJS错误: 未捕获的TypeError:无法读取未定义的属性“internalId” 调用堆栈:

  • Ext.define.updateIndexes ext-all-debug.js:58747
  • Ext.define.onAdd ext-all-debug.js:58701
  • Base.callParent ext-all-debug.js:2833
  • Ext.define.onAdd ext-all-debug.js:76400
  • fire ext-all-debug.js:10259
  • Ext.define.fireEvent ext-all-debug.js:13385
  • Ext.define.insert ext-all-debug.js:44663
  • Ext.define.add ext-all-debug.js:44688
  • Ext.define.listeners.write OrderEdit.js:560
  • fire ext-all-debug.js:10259
  • Ext.define.fireEvent ext-all-debug.js:13385
  • Ext.define.onProxyWrite ext-all-debug.js:43978
  • Ext.define.onBatchOperationComplete ext-all-debug.js:44005
  • fire ext-all-debug.js:10259
  • Ext.define.fireEvent ext-all-debug.js:13385
  • onProxyReturn ext-all-debug.js:51056
  • Ext.define.processResponse ext-all-debug.js:26205
  • (匿名函数)ext-all-debug.js:26397
  • Ext.apply.callback ext-all-debug.js:5022
  • Ext.define.onComplete ext-all-debug.js:21028
  • Ext.define.onStateChange ext-all-debug.js:20979
  • (匿名函数)ext-all-debug.js:1503

还有其他方法可以正确地完成吗?

1 个答案:

答案 0 :(得分:2)

简单地重绘网格并删除那些红色矩形......只需对已更新或创建的记录使用commit()函数。这通常应该有效。