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