0

我有一个使用 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 并重新加载它就可以了。因此,在编辑后,我得到了具有正确值的新商店,但它没有显示。我希望我解释得足够清楚

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

4

1 回答 1

0

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

于 2011-02-24T08:42:11.493 回答