1

jqgridテーブルに問題があります:jsonをロードし、テーブルを持っていますが、ページを変更する可能性がなく、テーブルの最後のページしか表示できません。

jsコード:

$("#list").jqGrid(
        {
            url:'test.json',
            datatype: "json",
            mtype: 'GET',
            colNames:['id','model','cc','nation','prod'],
            colModel:[
                      {name:'id', index:'id', jsonmap:"id", width:25},
                      {name:'model', index:'model', jsonmap:"model", width:50},
                      {name:'cc', index:'cc', jsonmap:"cc", width:25},
                      {name:'nation', index:'nation', jsonmap:"nation", width:50},
                      {name:'prod', index:'prod', jsonmap:"prod", width:50}
                     ],
            rowNum: "2",
            page: "1",
            rowList: [2,4,6],
            autowidth: true,
            pager: '#pager',
            height: "100%",
            sortname: 'id',
            caption: "Elenco delle Moto",
            jsonReader: {root: 'rows',page: 'page',total: 'total',records: 'records',repeatitems: false,id: 'id'},

            loadComplete: function() {
                grid.setGridHeight('auto');
            }
        });
        $("#list").jqGrid('navGrid','#pager',{edit:false,add:false,del:false,search:false});
        $("#visual").hide();

と私のjsonファイル:

{
"total": "3",
"page": "1",
"records": "5",
"rows": 
[
    {
        "Id": "1",
        "model": "shiver",
        "cc": "750",
        "nation": "italy",
        "prod": "aprilia"
    },
    {
        "Id": "2",
        "model": "monster",
        "cc": "696",
        "nation": "italy",
        "prod": "ducati"
    }
],
"page":"2",
"rows":
[
    {
        "Id": "3",
        "model": "z750",
        "cc": "750",
        "nation": "japan",
        "prod": "kawasaki"
    },
    {
        "Id": "4",
        "model": "hornet",
        "cc": "700",
        "nation": "japan",
        "prod": "honda"
    }
],
"page":"3",
"rows":
[
    {
        "Id": "5",
        "model": "speedtriple",
        "cc": "1000",
        "nation": "england",
        "prod": "buell"
    }
]

}

私は何度も試しましたが、いつも同じ結果です。誰かが私を助けてくれますか?

4

1 に答える 1

0

応答には一度に1つのページのみが含まれている必要があります(適切なpage値はこれがどのページであるかを示します)。したがって、最初のページのJSONは次のようになります。

{
    "total": "3",
    "page": "1",
    "records": "5",
    "rows": [
        { "Id": "1", "model": "shiver", "cc": "750", "nation": "italy", "prod": "aprilia" },
        { "Id": "2", "model": "monster", "cc": "696", "nation": "italy", "prod": "ducati" }
    ]
}

jqGridは次のページをさらにリクエストします。リクエストのパラメータを調べpageてください。rows1つ目は、返送するページを示し、2つ目は、現在のページサイズを示します(rowListオプションを使用しているため、ページサイズを変更できるため、これは重要です)。

于 2012-10-12T08:25:35.153 に答える