Dojo Gridx与JsonStore

时间:2012-05-14 11:30:42

标签: dojo dojo.gridx

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

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

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);

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

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