如何重置OnDemandGrid

时间:2013-07-29 11:02:55

标签: dojo dgrid

我在我的应用程序中使用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();

});

2 个答案:

答案 0 :(得分: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: 看看这个:delete item from a dojo.store.jsonrest

我认为jsonstore.remove()会这样做。

此致,Miriam

答案 1 :(得分:0)

收集数据应设为null;否则refresh()不会工作。此外,不应为集合数据分配空白商店对象dojo.data.ItemFileReadStore

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

由于我们要从OnDemandGrid中删除集合,因此内部dstore错误将记录在控制台中,用于以下js文件。

dstore/Trackable.js,
dstore/Memory.js,
dstore/Promised.js