2012-05-14 44 views
2

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

编辑:没有AJAX requet到/测试/在萤火虫/ CHROM开发工具

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

store: new JsonRestStore({ 
     idAttribute: 'id', 
     target: '/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, 
    ...... 
}); 
1

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

+0

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