请参阅下面的我的js代码
$(function () {
$("#grid").jqGrid({
url: "/Home/GetRoles",
dataType: 'json',
mtype: 'Get',
colNames: ['ID', 'Role Name', 'Active'],
colModel: [
{ key: true, hidden: true, name: 'RoleId', index: 'RoleId' },
{ key: true, name: 'RoleName', index: 'RoleName' },
{ key: true, name: 'Active', index: 'Active' }
],
pager: jQuery('#pager'),
rowNum: 10,
rowList: [10, 20, 30, 40],
height: '100%',
viewrecords: true,
caption: 'Roles',
emptyrecords: 'No records to display',
jsonReader: {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: false,
id: "0"
},
autowidth: true,
multiselect: false
});
});
和获取请求的输出
{"total":2,"page":1,"records":13,"rows":[{"RoleId":1,"RoleName":"Role1","Active":true},{"RoleId":2,"RoleName"
:"Role 2","Active":false},{"RoleId":13,"RoleName":"Role 3","Active":false},{"RoleId":3,"RoleName":"Role
4","Active":false},{"RoleId":4,"RoleName":"Role 5","Active":false},{"RoleId":5,"RoleName":"Role 6","Active"
:false},{"RoleId":6,"RoleName":"Role 7","Active":false},{"RoleId":7,"RoleName":"Role 8","Active":false
},{"RoleId":8,"RoleName":"Role 9","Active":false},{"RoleId":9,"RoleName":"Role 10","Active":false}]}
但网格始终为空
答案 0 :(得分:0)
您应该将dataType: 'json'
修改为datatype: 'json'
,而属性key: true
只能放在一列中。您应该从列RoleName
和Active
中删除它。您的JSON数据包含字符串" Role 4"
中间的换行符。在这个地方有JSON数据真的是新行吗?这也是错误。
此外,您应始终编写有关您使用的jqGrid版本以及版本< = 4.7中的fork(free jqGrid,Guriddo jqGrid JS或旧jqGrid)的信息。一个版本中存在的问题不能存在于另一个版本中。此外,不同的版本和分叉有不同的选项实现,所以建议你一些解决方法,需要知道您使用的版本和分叉。我开发了免费的jqGrid 分叉,并且可以从分叉推荐给你jqGrid的最新版本(4.13.0)。