0

私は MVC3 で作業しており、jqGrid 4.4.1 を使用しています。jqGrid は初めてなので、これは基本的な質問です。

データをグリッドに取得し、最初のサイトを表示することに成功しました。しかし、次のページをクリックしても反応がありません。

var myMeasurementsGrid = $("#gridMeasurementsTableView" + randomId);

myMeasurementsGrid.jqGrid({
        url: '/DataMonitor/CreateMeasurementTableView/',
        datatype: "json",
        mtype: 'POST',
        postData: { "mrpId": dataToSend.mrpId, "chartId": dataToSend.chartId, "mrpStartTime": dataToSend.mrpFilter.FilterTimeWindow.StartTimeStamp, "mrpEndTime": dataToSend.mrpFilter.FilterTimeWindow.EndTimestamp },
        jsonReader : {
            root: "data",
            page: "Page",
            total: "total",
            records: "records",  
            repeatitems: false,
            cell: "cell",
            id: "id" 
           },  
        colNames: ['Date', 'Value'],
        colModel: [
            { name: 'Timestamp', index: 'Timestamp', width: 260, 
                formatter: function (cellvalue, options, rowObject) {
                        return new Date(parseInt(cellvalue.substr(6, cellvalue.length - 8), 10));
                    }  
            },
            { name: 'Value', index: 'Value', width: 160, align: 'center' }  
        ],
        loadui: "disable",
        loadtext: "Loading",
        viewrecords: true,
        gridview: true,
        rowNum: 10,
        height: "100%",
        caption: "Measurements2",
        pager: $("#gridpager" + randomId),
        loadonce: true,
        sortname: 'Timestamp',
        sortorder: "asc",
        rowList: [10, 50, 100]
    });

背後にある機能は次のとおりです。

     [HttpPost]
        public ActionResult CreateMeasurementTableView(string sidx, string sord, int page, int rows, int mrpId, string divId, string chartId, DateTime mrpStartTime, DateTime mrpEndTime)
        {
... here is my code, for getting data

return Json(new
            {
                total = listaAvailableMeasurements.Count(),
                records = listaAvailableMeasurements.Count(),
                data = listaAvailableMeasurements,
                Page = page,
                SortColumn = sidx,
                SortOrder = sord
            });

ナビゲーションが応答しないのはなぜですか?

br、1月

4

1 に答える 1

0

おそらく、サーバー ( CreateMeasurementTableView) から最初のページだけを返しました。使用する場合は、すべてのデータloadonce: trueを返す必要があります。jqGridを使用する場合は、データの最初のロード後にを変更します。そのため、サーバーとの通信はなくなり、ページング、ソート、フィルタリング (検索) は jqGrid によって内部的に実装されます。loadonce: truedatatype"local"

グリッドにそれほど多くの行がない場合は良い方法ですが、すべてのデータを一度に返す必要があります。データは正しくソートされている必要があります。サーバー側で並べ替え、ページング、およびフィルタリングを実装する場合は、オプションを削除する必要がありloadonce: trueます。

于 2012-11-06T12:20:32.333 に答える