Ext网格中的本地编辑

时间:2011-03-17 11:29:44

标签: extjs grid

我正在使用ExtExt.grid.EditorGridPanel来创建网格,并使用带有本地数据的数组存储来填充网格中的行。当我在网格中编辑值时,它们在左上角显示一个小红色三角形,并且商店数据也不会更新。

那么如何编辑EditorGridPanel中的本地数据?

我在Ext Editor Grid Example中看到了类似的问题,但该示例也设置了网址,请参见下图。

enter image description here

解决方案:由于我只需要在本地保存更改,我只需执行以下操作。

settingsGrid.on('afteredit', function(evt){
settingsGrid.store.commitChanges()
})

它修复了问题,所有用户编辑的数据都在本地商店中快速更新。

2 个答案:

答案 0 :(得分:5)

左上角的红色三角表示该值已更改。当用户更改网格中的数据时,商店会跟踪修改。

如果需要保存修改,则必须将更新的数据发送回服务器端。您可以使用DataWriter进行此操作.. refer to this example

更新:如果您不打算将更新移至服务器,则可以使用:

  • getModifiedRecords() - 获取所有修改过的记录。
  • commitChanges() - 提交更改。
  • rejectModifiedRecords() - 拒绝商店内的所有更改。

这些方法是客户端存储的操作。我认为这就是你要找的东西。

答案 1 :(得分:1)

Editor Grid Example使用EditorGridPanel而无需前往服务器(请查看该页面上的edit-grid.js链接)。您需要发布代码以帮助我们调试您的情况。

确保您没有在ArrayStore上定义restful: true。如果您想保留本地内容,我还建议您使用data属性而不是url