2012-02-20 37 views
0

我有一個Jqgrid,其數據類型爲本地。我在運行時使用addRowData,setCell加載數據。每件事情都很好。請注意,我沒有將整個數據加載到網格中,因此網格不知道有多少頁面在那裏。我的服務器返回我需要設置到網格的計數。文檔說lastpage是ReadOnly?如何將最後一頁(頁數)設置爲網格?有什麼建議麼。 謝謝, SarathJqGrid設置數據類型本地的最後一頁

回答

2

使用addRowData方法來填充jqGrid是jqGrid中填充數據的最舊和最沒有效的方法。問題很簡單。如果您在頁面上放置元素,則必須重新計算頁面上所有其他元素的位置。它使Web瀏覽器的許多資源。在一步中填充整個jqGrid體更加有效,特別是對於大量的插入行。只有在很少的情況下才需要使用addRowData方法。

有效得多將使用data參數的jqGrid的,其允許與所述數據來填充網格,排序數據對應於sortnamesortorder和顯示所述第一頁面,rowNum定義每頁的行數。另外應該不是使用afterInsertRow回調和使用gridview: true。在jqGrid的填充是最有效的情況下。

網格的頁數將根據網格中的行數自動計算。只有當你使用服務器端datatype'json''xml')的客戶端部分不知道的總頁數等一個必須填寫的輸入數據totalpagerecords與主數據一起(見documentation) 。如果使用低級方法addJSONData,則可以用數據填充網格,並將totalpagerecords仍然設置爲您需要的任何值。

您可以在某些情況下使用的另一種方法是datatype: 'jsonstring'。數據可以作爲datastr選項的值來放置。順便說一下,datastr的值不僅必須是JSON字符串,也可以是一個對象。

+0

感謝您的建議。我從Json開始,但不得不使用addRowData和setCell,因爲我返回的數據是相當複雜的json。所以會按照下一遍建議的方式進行更改。但目前我正在使用自定義尋呼機。如果lastpage不是ReadOnly,那將會很方便。 – Sarath 2012-02-22 15:47:51

+0

@Sarath:不客氣! jqGrid允許實際讀取任何JSON數據。您可以使用'jsonReader'或修改'beforeProcessing' *中的JSON數據,然後*數據將由jqGrid處理。如果你使用帶有函數的'jsonReader'(參見[這裏](http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#jsonreader_as_function))或'jsonmap',它們使用的函數可以實際讀取任何JSON數據。 – Oleg 2012-02-23 16:08:46

相關問題