我想在asp.net网页中集成jqGrid。我得到了JSON格式的数据。但是在没有数据的情况下渲染页面网格时。
我在下面给出的书面代码。
JqGridExample.aspx
jQuery("#jsonmap").jqGrid({
url: 'GetData.aspx',
datatype: 'json',
colNames: ['ID', 'Name', 'Active', 'Gender'],
colModel: [
{ name: 'id', index: 'id', width: 35, editable: false, editoptions: { readonly: true, size: 10} },
{ name: 'name', index: 'name', width: 150, align: "left", editable: true, size: 100 },
{ name: 'isClosed', index: 'isClosed', width: 100, align: 'left', editable: true, edittype: "checkbox", editoptions: { value: "true:false", formatter: "checkbox"} },
{ name: 'gender', index: 'gender', width: 100, formatter: 'select', editable: true, edittype: "select", editoptions: { value: "0:select;1:male;2:female"} }
],
rowNum: 10,
rowList: [2, 5, 10, 15],
pager: '#pjmap',
sortname: 'id',
sortorder: "desc",
viewrecords: true,
jsonReader: { repeatitems: false, cell: "", id: "0" },
width: 600,
caption: 'First jqGrid',
height: '100%', viewrecords: true, fixed: true, gridview: true, loadonce: true
});
<table id="jsonmap">
</table>
<div id="pjmap">
</div>
我从getdata.aspx
获得的数据是
{"total":1,"page":1,"records":5,"rows":[{"Name":"John","Id":1,"Gender":1,"IsClosed":false},{"Name":"Abel","Id":2,"Gender":1,"IsClosed":false},{"Name":"Aaron","Id":3,"Gender":1,"IsClosed":true},{"Name":"Tsion","Id":4,"Gender":2,"IsClosed":true},{"Name":"Mussie","Id":5,"Gender":2,"IsClosed":true}]}
在jqGridExample.aspx上的渲染网格上没有显示数据。
提前感谢..
答案 0 :(得分:1)
您应该在name
中使用colModel
属性,该属性与JSON数据中的名称完全对应。因此,您应该将name: 'id'
更改为name: 'Id'
,将name: 'name'
更改为name: 'Name'
,将name: 'isClosed'
更改为name: 'IsClosed'
,将name: 'gender'
更改为name: 'Gender'
}。您可以从index
中删除所有colModel
个属性,也可以在所有index
属性中进行相同的更改。
此外,您应在key: true
中的Id
列定义中加入colModel
属性。