Jqgrid不显示数据

时间:2016-02-23 04:37:38

标签: jqgrid

请参阅下面的我的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}]}

但网格始终为空

1 个答案:

答案 0 :(得分:0)

您应该将dataType: 'json'修改为datatype: 'json',而属性key: true只能放在一列中。您应该从列RoleNameActive中删除它。您的JSON数据包含字符串" Role 4"中间的换行符。在这个地方有JSON数据真的是新行吗?这也是错误。

此外,您应始终编写有关您使用的jqGrid版本以及版本< = 4.7中的fork(free jqGridGuriddo jqGrid JS或旧jqGrid)的信息。一个版本中存在的问题不能存在于另一个版本中。此外,不同的版本和分叉有不同的选项实现,所以建议你一些解决方法,需要知道您使用的版本和分叉。我开发了免费的jqGrid 分叉,并且可以从分叉推荐给你jqGrid的最新版本(4.13.0)。