0 javascript dojo json dgrid dstore
我一直试图实时获取我的dgrid/dstore网格.正如我所理解的那样,函数'Observable'已被弃用,而且它也不适用于我.
我试图通过Interval计时器更新网格,然后整个网格被擦除并重新加载.如何更新整个网格'内联'而不删除,并显示'加载数据'?
这是我的基本代码:
var timer = setInterval(function() {
store.invalidate(); // Invalidate the cache
store.fetch(); // Perform a new request for all items
grid.refresh();
}, 500);
Run Code Online (Sandbox Code Playgroud)
dstore中不存在Observable,但有一个Trackablemixin可以替代使用.至于在从商店获取新内容时更新网格,您可以使用a dstore/Cache然后将Memory混合的缓存商店传递Trackable给网格以代替使用.每次将新数据添加到缓存存储区时,它也会反映在网格中.
require([
'dgrid/OnDemandGrid',
'dstore/Rest',
'dstore/Memory',
'dstore/Trackable',
'dstore/Cache',
'dojo/domReady!'
], function (OnDemandGrid, Rest, Memory, Trackable, Cache) {
var restStore = new Rest({
target: '/mockRequest/'
});
var store = Cache.create(restStore, {
cachingStore: new (Memory.createSubclass(Trackable))()
});
var grid = new OnDemandGrid({
collection: store.cachingStore,
columns: {
id: 'ID',
name: 'Name',
description: 'Description'
},
loadingMessage: 'Loading...'
}, 'main');
grid.startup();
setInterval(function () {
store.fetch();
}, 2000);
});
Run Code Online (Sandbox Code Playgroud)