您好我无法将JSON中的数据加载到网格上,
HEre是我的网格代码,用于显示用户股票的股票价格:
$(document).ready(function () {
// $("#jQGrid").html("<table id=\"list\"></table><div id=\"page\"></div>");
jQuery("#jqTable").jqGrid({
url:jqDataUrl,
datatype: "json",
mtype: "POST",
height: 250,
// Specify the column names
colNames: ["SYMBOL", "LAST", "CHANGE", "%CHANGE","HIGH/LOW"],
// Configure the columns
colModel: [
{ name: "SYMBOL", index: "SYMBOL", width: 200, align: "left" },
{ name: "LAST", index: "LAST", width: 200, align: "left" },
{ name: "CHANGE", index: "CHANGE", width: 200, align: "left" },
{ name: "%CHANGE", index: "%CHANGE", width: 200, align: "left"},
{ name: "HIGH/LOW", index: "HIGH/LOW", width: 200, align: "left"}
],
jsonReader : {
root: "rows",
page: "page",
total: "total",
records: "records",
cell: "cell",
id: "id",
},
multiselect: false,
// paging: true,
// rowNum:10,
// rowList:[10,20,30],
pager: $("#jqTablePager"),
loadonce:true,
caption: "WatchList"
}).navGrid('#jqTablePager',{edit:false,add:true,del:true});
}
});
但是当我尝试运行代码时,我无法将内容放到桌面上(但网格加载时没有内容)
我的json的形式是:
{
total: "1",
page: "1",
records: "2",
rows :
[
{id:"1", cell:["cell11", "cell12", "cell13","cell13","cell13"]},
{id:"2", cell:["cell21", "cell22", "cell23","cell13","cell13"]}
]
}
请帮我解决问题
答案 0 :(得分:0)
<强>更新强>:
我发现如果你没有将repeatitems:true
选项放入json reader,jqGrid会假设你使用的是json dot表示法。当您将其放入jsonReader时,您的数据已正确加载。以下是工作示例:http://jsfiddle.net/a5e5F/3/
旧版:
我使用你的jqgrid代码玩了很多,似乎这个版本的jqGrid中存在一个错误,导致你的jsonReader无法正常工作。它直接读取数据,忽略根元素,并假设您的数据是格式为
的json对象数组{propertyName1:'PropertyValue1', propertyName2:'PropertyValue2', ...}
您可以在http://jsfiddle.net/a5e5F/2/
上看到我的意思如果将data:rows
替换为data:data
(您的数据格式),则不会加载数据。也许您应该尝试将您的json数据更改为使用真正的json格式(名称为列的属性)?
我一直在尝试大量的东西,更改列名以检查@ Barmar's cament中的问题,我也认为这是原因。