首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dojo dGrid/dStore实时更新

Dojo dGrid/dStore实时更新
EN

Stack Overflow用户
提问于 2015-03-30 15:54:49
回答 1查看 1.6K关注 0票数 0

我一直在尝试实时获取我的dgrid/dstore网格。据我所知,'Observable‘函数已被弃用,而且它对我也不起作用。

我试图通过间隔计时器更新网格,但随后整个网格被擦除并重新加载。如何更新整个网格‘内联’而不擦除,并显示‘加载数据’?

这是我的基本代码:

代码语言:javascript
复制
var timer = setInterval(function() {
  store.invalidate(); // Invalidate the cache
  store.fetch(); // Perform a new request for all items
  grid.refresh(); 
}, 500);
EN

回答 1

Stack Overflow用户

发布于 2015-03-31 10:55:47

在dstore中不存在Observable,但是可以使用Trackable mixin。至于在从存储获取新内容时更新网格,您可以使用dstore/Cache,然后将混合了Trackable的缓存Memory存储传递给网格使用。每次将新数据添加到缓存存储时,它也会反映在网格中。

代码语言:javascript
复制
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);
});
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29341015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档