Dojo Gridx 与 JsonStore

Posted

技术标签:

【中文标题】Dojo Gridx 与 JsonStore【英文标题】:Dojo Gridx with JsonStore 【发布时间】:2012-05-14 11:30:41 【问题描述】:

我正在尝试将 Gridx 网格连接到 JsonStore。代码和数据如下。问题是 Gridx 渲染正确,但它说:没有要显示的项目。有人知道我在做什么错吗? Dojo 和 Gridx 是用cpm 安装的最新版本。

编辑:Firebug/Chrom 开发工具中没有对 /test/ 的 ajax 请求

structure: [
         field: 'id', name: 'Id' ,
         field: 'title', name: 'Title' ,
         field: 'artist', name: 'Artist' 
    ],

store: new JsonRestStore(
        idAttribute: 'id',
        target: '/test/'
    ),

/test 返回的数据是这样的:


    identifier: "id",
    label: "title",
    items: [
    
        id: 1,
        title: "Title 1",
        artist: "Artist 1"
    ,
    
        id: 2,
        title: "Title 2",
        artist: "Artist 2"
    ,
    ...

网格是通过以下方式创建的:

this.grid = new Grid(
    structure: structure,
    store: store,

    modules: [
        Pagination,
        PaginationBar,
    //Focus,
        SingleSort,
        ToolBar
    ],

    //paginationInitialPage: 3,
    paginationBarSizes: [10, 25, 50, 100],
    paginationBarVisibleSteppers: 5,
    paginationBarPosition: 'bottom'
, this.gridNode);

【问题讨论】:

【参考方案1】:

您是否指定了要使用的缓存?在您的情况下,它应该是异步缓存。

require([
    'gridx/core/model/cache/Async',
   .....
], function(Cache, ...)

this.grid = new Grid(
    cacheClass: Cache,
    ......
);

【讨论】:

【参考方案2】:

我发现当服务器没有在响应中返回 Content-Range 标头时会发生这种情况。显然商店不够聪明,无法仅计算返回数组中的项目...

【讨论】:

这是一个设计决策。很少使用 JSON 响应的功能,而是用于下载大数据

以上是关于Dojo Gridx 与 JsonStore的主要内容,如果未能解决你的问题,请参考以下文章

如何让 cellWidgets 中的 dojo gridx dojo 小部件自动写入商店?

Dojo gridx:使用“onAfterRow”禁用“onCellWidgetCreated”?

Dojo Gridx 程序刷新显示没有数据

具有行标题或行数的Dojo GridX?

如何将小部件添加到 Dojo gridx/Grid 标题?

是啥导致我的 dojo GridX 出现奇怪的图形故障?