1

私はjqGrid v4.4.5を使用しています。グリッドが空の場合、「0のページ1」を表示します。この回答を読みました が、問題は解決しません。私のhttphandlerはこのjson結果を送信します

"{\"page\":0,\"records\":0,\"rows\":[],\"total\":0,\"userdata\":null}"

 gridParaf = $("#gridParaf").jqGrid(
    {
        url:"GetLetterInformationHandler.ashx?CurrentUser=" + 1457,
        datatype: 'json',
        width: $("#contentParaf").width() + 410,
        height: $("#contentParaf").height() - 20,
        direction: "rtl",
        colNames: ['IAnsDateTime', 'IAnsState'],
        colModel: [
            { name: 'IAnsDateTime', width: 50, sortable: false, hidden: false, template: CenterTemplate },
            { name: 'IAnsState', width: 20, sortable: false, hidden: false, template: CenterTemplate },
        ],
        rowNum: 20,
        loadonce: true,
        rowList: [5, 10, 20],
        recordpos: "left",
        ignoreCase: true,
        toppager: true,
        viewrecords: true,
        sortorder: "desc",
        scrollOffset: 1,
        editurl: 'clientArray',
        shrinkToFit: true,
        jsonReader:
        {
            repeatitems: false,
        },
        gridview: true,
    });

ここに画像の説明を入力

4

2 に答える 2

2

正しい JSON 応答は

{"page":0,"records":0,"rows":[],"total":0,"userdata":null}

デバッガーだけが次の形式で応答を表示します

"{\"page\":0,\"records\":0,\"rows\":[],\"total\":0,\"userdata\":null}"

次の使用を試みることができる場合jsonReader

jsonReader: {
    repeatitems: false,
    page: function (obj) {
        return obj.page !== undefined && obj.page !== 0 ? obj.page : "0";
    }
}

それがあなたの問題を解決することを願っています。詳細については、回答を参照してください。

UPDATED : を使用するため、 と の両方を同じ方法でloadonce: true定義する必要がありますjsonReaderlocalReader

jsonReader: {
    page: function (obj) {
        return obj.page !== undefined && obj.page !== 0 ? obj.page : "0";
    }
},
localReader: {
    page: function (obj) {
        return obj.page !== undefined && obj.page !== 0 ? obj.page : "0";
    }
}

デモを参照してください。

于 2013-07-22T11:39:58.630 に答える