我正在从jqGrid 3.6.3升级 - > 4.1.2。
升级后网格始终显示为空,即使寻呼机显示正确的结果数(在这种情况下为6)。我可以看到正在检索JSON并且它是有效的。
没有显示错误,也没有任何内容写入javascript控制台。 如果我挂钩到loadComplete事件,它会触发 - 而grid.getDataIDs()返回一个空数组 - 就好像没有数据一样。
这是传输的JSON(使用JSONLint格式化)。它格式正确JSON&传递JSONLint验证:
{
"pageCount": "1",
"pageSize": "15",
"pageNumber": "1",
"itemCount": "6",
"items": [
{
"Id": "1",
"Name": "Administrator"
},
{
"Id": "3",
"Name": "asfasfassf"
},
{
"Id": "6",
"Name": "askjdhajksdk sh"
},
{
"Id": "2",
"Name": "fg"
},
{
"Id": "5",
"Name": "test"
},
{
"Id": "4",
"Name": "sa afasf saf"
}
]
}
以下是我传递给jqGrid的jqGrid选项的相关部分:
{
datatype: 'json',
jsonReader: {
root: 'items',
id: '0',
repeatitems: false,
page: 'pageNumber',
total: 'pageCount',
records: 'itemCount'
},
mtype: 'POST',
...
};
我已经搜索了互联网的答案,但没有运气。有没有人有建议?!
请参阅下面我传递给jqGrid(选项)的选项对象的屏幕截图:
提前致谢!!!
答案 0 :(得分:1)
将cell: ''
添加到您的jsonReader:
jsonReader: {
root: 'items',
id: '0',
repeatitems: false,
page: 'pageNumber',
total: 'pageCount',
records: 'itemCount',
cell: ''
}
http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#json_data
默认情况下,jsonReader的cell
选项设置为“cell”,这意味着您的数据需要格式化为:
{
"pageCount": "1",
"pageSize": "15",
"pageNumber": "1",
"itemCount": "6",
"items": [
{
"Id": "1",
"cell": ["Administrator"]
},
{
"Id": "3",
"cell": ["asfasfassf"]
}
]
}
另外,请查看v3.6.4到v3.6.5的升级指南:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:upgrade_from_3.6.4_to_3.6.5
答案 1 :(得分:0)
我解决了这个问题&这个问题与JSON完全无关。
升级到jqGrid 4.1.2后,我发现我的网格表需要有一个id属性。不幸的是,我在桌面上设置了一个无效的ID(它偶然会有空格)。
一旦我修复了表的id属性,网格就开始正确渲染了。
感谢您的回答!