1

我在我的应用程序中使用 OnDemandGrid 和 JSONrest 存储。第一次,网格加载正常,如果我再次搜索其他数据,网格中已经存在的数据与新数据重叠。有人可以告诉我如何重置或刷新 OnDemandGrid?

这是我的代码,

           function (request, Memory, OnDemandGrid,JsonRest) {

            var jsonstore = new JsonRest({target: url,idProperty: "srno"});
            grid = new OnDemandGrid({
                store: jsonstore,
                columns: Layout,
                minRowsPerPage : 40,
                maxRowsPerPage : 40,
                keepScrollPosition : true,
                loadingMessage: "Loading data...",
                noDataMessage: "No results found."
            }, "grid");
            grid.startup();

});

4

2 回答 2

0

这是取自http://forums.arcgis.com/threads/39150-dojox.grid.DataGrid-how-to-clear-results的示例

var newStore = new dojo.data.ItemFileReadStore({data: {  identifier: "",  items: []}});
var grid = dijit.byId("grid");
grid.setStore(newStore);

}

清除网格的结果。

我们使用类似的案例来删除我们使用过的 ItemFileReadStore:

var emptyStore = clearStore();
dijit.byId("selectGemarkung").store = emptyStore;

希望这可以帮助。

更新1: 看看这个:从dojo.store.jsonrest中删除项目

我认为 jsonstore.remove() 会做到这一点。

问候,米里亚姆

于 2013-07-29T11:38:26.470 回答
0

Collection data should be set to null; else refresh() wont work. Also collection data should not be assigned blank store object dojo.data.ItemFileReadStore.

grid.collection.setData("");
grid.refresh();

Since we are removing collection from OnDemandGrid internal dstore errors will be logged in console for below js files.

dstore/Trackable.js,
dstore/Memory.js,
dstore/Promised.js
于 2015-05-11T09:16:12.013 回答