如何在没有 REST 请求的情况下在 GUI 中基于 dojo.store.jsonrest 对 Dojo DataGrids 进行排序?

Posted

技术标签:

【中文标题】如何在没有 REST 请求的情况下在 GUI 中基于 dojo.store.jsonrest 对 Dojo DataGrids 进行排序?【英文标题】:How do I sort Dojo DataGrids based on dojo.store.jsonrest in the GUI without REST request? 【发布时间】:2011-12-10 18:33:11 【问题描述】:

我目前正在实现一个基于 Dojo Toolkit (1.6.1) 的前端,该前端从 RESTful 服务接收大量数据。这在 GUI 中由 dojox.grid.DataGrid 使用 dojo.store.JsonRest-store 表示。

但是,在网格上使用了一些我不希望发送 JSON 请求的操作,例如对列进行排序。是否可以允许用户在没有这样的请求的情况下对数据进行排序?我可以在本地缓存商店信息(例如用户浏览器或文件中)以避免这种情况吗?

非常感谢您的任何反馈!

【问题讨论】:

【参考方案1】:

我遇到了同样的问题并首先尝试了dojo.store.cache,但这不起作用。 因此,我使用dojo.store.memory 创建了自己的缓存:

startBuildingCache: function (url, idProperty) 
    try 
        var jsonStore = new dojo.store.JsonRest( target: url );
        var jsonObjectStore = dojo.data.ObjectStore( objectStore: jsonStore );

        var gotItems = dojo.hitch(this, function (items, request) 

            var dataStore = new dojo.store.Memory(
                data: items,
                idProperty: idProperty
            );

            this.cache = dojo.data.ObjectStore( objectStore: dataStore );
            this.onCacheBuild(
                src: this,
                cache: this.cache
            );
        );

        jsonObjectStore.fetch( onComplete: gotItems );


     catch (e) 
        console.log(e.name + ": " + e.message);
    
,

【讨论】:

以上是关于如何在没有 REST 请求的情况下在 GUI 中基于 dojo.store.jsonrest 对 Dojo DataGrids 进行排序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有 Amazon GUI 的情况下在 Elastic MapReduce 上自动运行 Pig Batch 作业?

Dev-C++ 在没有 GUI 的情况下在后台运行程序

有没有办法在没有 WPF 或 Visual Studio 的情况下在 C# 中制作 GUI(仅使用代码)?

如何在不冻结 GUI 的情况下在单个插槽中实现阻塞进程?

如何在没有 FBConfig 错误的情况下在 docker 内运行 glut 应用程序?

如何在不请求的情况下在firebase-auth中首次加载时获取currentUser