1

こんにちは、グリッドに読み込まれた 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"]}
]
}

問題を解決するのを手伝ってください

4

1 に答える 1

0

更新

オプションをjsonリーダーに入れないrepeatitems:trueと、jqGridはjsonドット表記を使用していると想定することがわかりました。jsonReader に入れると、データが正しく読み込まれます。これが実際の例です:http://jsfiddle.net/a5e5F/3/


古いバージョン:

私はあなたの jqgrid コードで多くのことをしましたが、このバージョンの jqGrid にはバグがあり、jsonReader が機能しないようです。ルート要素を無視し、データが形式のjsonオブジェクトの配列であると想定して、データを直接読み取ります

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

http://jsfiddle.net/a5e5F/2/で私が何を意味するかを見ることができます

(データの形式) に置き換えるdata:rowsdata:data、データは読み込まれません。json データを実際の json 形式を使用するように変更してみてください (列として名前が付けられたプロパティを使用)。

@Barmarのコメントの問題をチェックするために列名を変更して、たくさんのことを試してきましたが、それが原因だとも思いました。

于 2012-09-01T10:45:00.543 に答える