2012-11-06 90 views
0

我在MVC3工作和使用的jqGrid 4.4.1,我是新來的jqGrid所以這是基本的問題。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, 揚

回答

0

也許你從服務器(CreateMeasurementTableView)僅在第一頁返回。如果您使用loadonce: true,則應返回所有數據。在使用情況下loadonce: true jqGrid在第一次加載數據後將datatype更改爲"local"。所以它將不再與服務器進行通信,分頁和過濾(搜索)將由jqGrid在內部實現。

如果你還沒有在網格這麼多排它可能是很好的方式,但你必須在一個返回的所有數據。數據應該正確排序。如果要在服務器端上執行排序,分頁和篩選,則必須刪除loadonce: true選項。

+0

是,CreateMeasurementTableView從服務器(CCA 10000行)返回我的所有數據,這需要我可以改變,以獲得儘可能多的行。 - 如果我設置的數據類型爲「本地」,我不從服務器獲取數據。 - 如果我將數據類型設置爲「local」並刪除loadonce:true,我只得到前10行。而導航仍然不會發生。 – Jan

+0

我解決了這個問題。 – Jan

+0

@ user1802491:你是如何解決它的?有什麼問題?你只是刪除'loadonce:true'或者你有另一個問題? stackoverflow的目標是*共享*常見問題,其解決方案* other *。 – Oleg