JQGridでJSONデータをレンダリングしようとしています。次のエラーが発生します。
Error: b is undefined
Source File: http://localhost:1302/Scripts/jquery.jqGrid.min.js
Line: 23
最小化されていないJQGridソースコードを使用すると、getAccessorメソッドが複数回呼び出され、最後の呼び出しでメソッド(obj)の最初のパラメーターに未定義の値が渡されることがわかります。
Error: obj is undefined
Source File: http://localhost:1302/Scripts/jquery.jqGrid.src.js
Line: 151
これがグリッドのレンダリングを停止させている原因のようですが、なぜですか?
レンダリングされたグリッドには列見出しが表示されますが、内容は表示されません。グリッドの「Loading...」メッセージが消えることはありません。
私のJSONデータは次のようになります。
{
"total":"1",
"page":"1",
"userdata":{
},
"records":"2",
"rows":[
{
"DateOfBirth":"11/04/2012 12:00:00 AM",
"DisambiguationNote":"Boring guy",
"FirstName":"Joe",
"LastName":"Bloggs",
"MiddleName":"Binkie",
"PersonId":"1"
},
{
"DateOfBirth":"01/01/2001 12:00:00 AM",
"DisambiguationNote":"someone else",
"FirstName":"Edna",
"LastName":"Edwards",
"MiddleName":"Edith",
"PersonId":"8"
}
]
}
私のグリッドコードは次のようになります。
$(function () {
$("#persongrid").jqGrid({
url: '/Person/List',
datatype: 'json',
mtype: 'GET',
jsonreader: {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: false,
id: "5" ,
cell: "" ,
userdata: "userdata"
},
colModel: [
{ name: 'DateOfBirth', index: 'DateOfBirth',sorttype:'date' },
{ name: 'DisambiguationNote', index: 'DisambiguationNote' },
{ name: 'FirstName', index: 'FirstName' },
{ name: 'LastName', index: 'LastName' },
{ name: 'MiddleName', index: 'MiddleName' },
{ name: 'PersonId', index: 'PersonId',sorttype:'int' }
],
pager: '#persongridpager',
rowNum: 10,
rowList: [10, 20, 30],
viewrecords: true,
gridview: true,
caption: 'People'
});
});
上記のようにAJAXリクエストからJSONデータが取得されていることがわかります。また、JQGridのJSONデータの手順を注意深く実行しましたが、何が間違っているのかわかりません。
誰か助けてもらえますか?ありがとうございました。