Dojo网格从商店更新

时间:2011-01-11 08:39:10

标签: dojo store dojox.grid

我有一个使用dojox.data.JsonRestStore的dojox.grid.DataGrid。 在通过AJAX更改一个单元格的值(让我们称之为单元格A1)后,我重新加载网格,如下所示:

dijit.byId('reminders').selection.clear();
dijit.byId('reminders').store._items = Array();
dijit.byId('reminders')._refresh();

一切正常。但是,如果更改同一行上另一个单元格(单元格A2)的值,而不重新加载整个网格,则如下所示:

var grid = dijit.byId('reminders');
var item = grid.getItem(parseInt(response_data.edit_row));
grid.store.setValue(item, 'rem_text', response_data.rem_text);

当我更改单元格A1的值并重新加载网格时,即使响应中的值发生更改(在Firebug控制台中看到),显示的值也不会更改。

这是发生这种情况的唯一情况。如果我更改B2的值,然后更改A1并重新加载它可以正常工作。 所以,在编辑之后,我得到了具有正确值的新商店,但它没有显示。我希望我能够清楚地解释

我不知道我在这里缺少什么,特别是因为代码适用于所有其他情况。 任何见解将不胜感激。

1 个答案:

答案 0 :(得分:0)

我在JsonRestStore上遇到了一些问题,最后使用了QueryReadStore,它以我想要的方式检索我的数据并使用grid._refresh。