1

嗨,我无法从加载到网格的 JSON 中获取数据,

这是我的网格代码,它为用户显示股票的股价:

      $(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"]}
]
}

请帮我解决问题

4

1 回答 1

0

更新

我发现如果您不将repeatitems:true选项放入 json 阅读器,jqGrid 会假定您使用的是 json 点表示法。当您将其放入 jsonReader 时,您的数据已正确加载。这是工作示例:http: //jsfiddle.net/a5e5F/3/


旧版本

我用你的jqgrid代码玩了很多,看来这个版本的jqGrid有一个bug,导致你的jsonReader不能工作。它直接读取数据,忽略根元素并假设您的数据是格式为 json 对象的数组

{propertyName1:'PropertyValue1', propertyName2:'PropertyValue2', ...} 

您可以在http://jsfiddle.net/a5e5F/2/上看到我的意思

如果您替换data:rowsdata:data(您的数据格式),则不会加载数据。也许您应该尝试更改您的 json 数据以使用真正的 json 格式(属性命名为列)?

我一直在尝试大量的东西,更改列名以检查@Barmar 评论中的问题,我也认为这是原因。

于 2012-09-01T10:45:00.543 回答