jqGrid导航没有响应

时间:2012-11-06 11:23:53

标签: jquery asp.net-mvc jqgrid

我在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 个答案:

答案 0 :(得分:0)

可能您只是从服务器(CreateMeasurementTableView)返回第一页。如果您使用loadonce: true,则应返回所有数据。如果使用loadonce: true,jqGrid会在首次加载数据后将datatype更改为"local"。因此,它将不再与服务器进行通信,并且jqGrid将在内部实现分页,排序和过滤(搜索)。

如果网格中没有这么多行,那么这可能是好方法,但你必须在一个网站上返回所有数据。数据应该正确排序。如果要在服务器端实现排序,分页和过滤 ,则必须删除loadonce: true选项。