jquery网格没有填充JSon数据

时间:2012-08-31 22:35:08

标签: javascript jquery json jquery-ui

您好我无法将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"]}
]
}

请帮我解决问题

1 个答案:

答案 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中的问题,我也认为这是原因。