我正在尝试将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);
答案 0 :(得分:1)
您是否指定了要使用的缓存?在您的情况下,它应该是异步缓存。
require([
'gridx/core/model/cache/Async',
.....
], function(Cache, ...){
this.grid = new Grid({
cacheClass: Cache,
......
});
答案 1 :(得分:1)
我发现当服务器没有在响应中返回Content-Range
标头时会发生这种情况。显然,商店不够智能,只能计算返回数组中的项目......