2010-07-17 15 views

回答

10

如果您將datatype設置爲'local',則不會加載來自服務器的數據。要強制加載數據,您可以將datatype更改爲'json''xml'方法(參見http://www.trirand.com/jqgridwiki/doku.php?id=wiki:optionshttp://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods#grid_related_methods),然後調用trigger("reloadGrid")方法。

請參閱jqGrid is not loading data它也有你問的信息。

+0

+1翻轉數據類型完美地工作。謝謝! – ongle 2010-09-03 19:13:40

2

只是不要在表中設置默認的URL。並在需要加載數據時(例如按下按鈕)安裝它,然後安裝它,然後.trigger("reloadGrid")。你

例子:

jQuery("#grid").jqGrid(
     { 
      //Simply comment out the URL 
      //url    :"salepointsprovider.php", 
      datatype:"json", 
      colModel  :[ 
       {name:'SalePointId', index:'SalePointId'}, 
       {name:'Name', index:'Name'} 
      ] 
     } 

$('#ShowRecordsButton').click(function() { 
      jQuery("#grid").jqGrid('setGridParam', 
      {url:"salepointprovider.php?SalePointId=" + argSalePointId, page:1}); 
      jQuery("#grid").trigger('reloadGrid'); 
     } 
0

我沒有URL電網發送請求到服務器:

.../_搜索=假& ND = 1370817124473個&行= 20 &頁面= 1個& SIDX = & sord = asc

設置數據類型:「local」解決問題。 刷新電網通過

 
`function reloadGrid(gridId, gridData){ 
    $(gridId).jqGrid('clearGridData'); // need for nonempty grig (see http://www.trirand.com/blog/?page_id=393/help/triggerreloadgrid-not-work/) 
    $(gridId).jqGrid('setGridParam', {data: gridData}).trigger('reloadGrid'); 
} 
`

無需更改數據類型(至少在我的json的情況下,它是公認)

0

在的TreeGrid你不能使用的數據類型=「本地」。所以,而不是'本地',我設置datatype ='jsonstring',定義空虛假數據和jsonReader。 jsonReader應根據您檢索的數據正確定義。感謝Oleg的answer。而且,當我需要加載數據時,我只需將數據類型更改爲'json'。

var fakeData ={ 
    rows: [] 
}; 
... 
datatype: 'jsonstring', 
datastr: fakeData, 
... 
jsonReader: { 
    repeatitems: false, 
    root: function (obj) { return obj.rows; }, 
    page: function (obj) { return 1; }, 
    total: function (obj) { return 1; }, 
    records: function (obj) { return obj.length; } 
} 
+0

這不是問題的答案。 – 2016-01-16 10:39:51