Dojo 网格从商店更新

发布于 2024-10-11 17:06:49 字数 726 浏览 2 评论 0原文

我有一个 dojox.grid.DataGrid 与 dojox.data.JsonRestStore 一起使用。 通过 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 的值并重新加载,它就可以正常工作。 因此,编辑后,我得到了具有正确值的新商店,但它没有显示。我希望我能足够清楚地解释

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

I have a dojox.grid.DataGrid working with a dojox.data.JsonRestStore.
After changing values of one cell (let's call it cell A1) trough AJAX, I reload the Grid like this :

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

and everything works ok. However, if a change the value of another cell (cell A2) on the same row, without reloading the whole grid, like this :

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

when I change the value of cell A1 and reload the grid the value shown doesn't change even though the value in the response is changed (seen in Firebug console).

This is the only case when this happens. If I change the value of B2 and then A1 and reload it works ok.
So, after editing, I get the new store with the correct values, but it doesn't show. I hope I was clear enough explaining

I don't know what I'm missing here, especially because the code works in all other cases.
Any insight would be greatly appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

优雅的叶子 2024-10-18 17:06:49

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

I had some problems with the JsonRestStore and ended up using a QueryReadStore, which retrieved my data the way I wanted and worked with grid._refresh.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文