Dojo Datagrid始终显示过时的数据

时间:2012-01-30 07:37:35

标签: javascript dojox.grid.datagrid dojo

我正在使用通过dojo.data.ObjectStore和dojo.store.Cache连接到dojo.store.JsonRest的Dojo Datagrid。还有一个连接到Cache存储的dojo.store.Memory。

数据网格可以使用下拉菜单进行编辑。第一次更改值时,一切似乎都没问题,但如果再次编辑同一行,编辑将进入JsonRest和服务器,但网格本身将恢复为显示旧值。 / p>

这是一个已知的错误吗?任何解决方法的想法?

2 个答案:

答案 0 :(得分:0)

将数据保存到服务器后,可以进行网格更新行。回调可以是:


function onApplyCellEditHandler(inGrid, inValue, inRowIndex, inFieldIndex) {
    inGrid.yourStore.save();
    inGrid.updateRow(inRowIndex);
}

希望有所帮助

答案 1 :(得分:0)

如果没有看到您的代码,就很难说为什么这些更改不会被持久化。请记住,DataGrid依赖于统一数据接口将更改写回数据存储。编辑单元格后,将通过Dojo数据适配器的setValue()方法写回更改;未保存的更改存储在适配器中,直到您调用save()方法:dataStore.save();调用save()后,所有更改都将通过put()调用传递到对象库。要记住的是网格只是显示/反映商店中的数据。因此,除非在底层商店中进行了永久性更改,否则编辑网格中的单元格将不会持久存在。