使用数据库实现jqgrid与asp.net网页

时间:2013-03-16 09:09:35

标签: asp.net jqgrid webforms

我想在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上的渲染网格上没有显示数据。

提前感谢..

1 个答案:

答案 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属性。