jqgrid不显示数据
Jqgrid does not showing data
请看下面我的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
});
});
和Get请求的输出
{"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}]}
但网格总是空的
您应该将dataType: 'json'
修改为datatype: 'json'
,属性 key: true
只能放在一栏中。您应该将其从 RoleName
和 Active
列中删除。你的JSON数据在字符串"Role 4"
中间有换行符。JSON数据真的有换行符的地方吗?也会报错。
此外,您应该始终写下有关您使用的 jqGrid 版本的信息以及来自哪个分支(free jqGrid, Guriddo jqGrid JS 或版本 <=4.7 的旧 jqGrid)。一个版本存在的问题在另一个版本中不可能存在。此外,不同的版本和分叉有不同的实施选项,因此建议您一些解决方法需要知道您使用的版本和分叉。我开发了 free jqGrid fork,并且可以从 fork 向您推荐最新版本的 jqGrid (4.13.0)。
请看下面我的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
});
});
和Get请求的输出
{"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}]}
但网格总是空的
您应该将dataType: 'json'
修改为datatype: 'json'
,属性 key: true
只能放在一栏中。您应该将其从 RoleName
和 Active
列中删除。你的JSON数据在字符串"Role 4"
中间有换行符。JSON数据真的有换行符的地方吗?也会报错。
此外,您应该始终写下有关您使用的 jqGrid 版本的信息以及来自哪个分支(free jqGrid, Guriddo jqGrid JS 或版本 <=4.7 的旧 jqGrid)。一个版本存在的问题在另一个版本中不可能存在。此外,不同的版本和分叉有不同的实施选项,因此建议您一些解决方法需要知道您使用的版本和分叉。我开发了 free jqGrid fork,并且可以从 fork 向您推荐最新版本的 jqGrid (4.13.0)。