簡體   English   中英

使用Restful Web服務進行Jqgrid分頁

[英]Jqgrid pagination with Restful web services

我在下面有一個要求; 我有一個jqgrid使用webservice(RESTful webservices)調用加載json數據。當表單加載時,我命中服務器並將數據加載到網格。如果我有50行,則網格僅加載50行。但是我使用了分頁,所以它將僅顯示10條記錄,然后單擊分頁中的next按鈕,將顯示其他10條記錄。但是我的要求是在formload上,我應該點擊server和restric以僅顯示10條記錄。顯示接下來的10行。是否可以共享任何樣本?

經典的RESTful Web服務不支持分頁。 因此,必須從服務器返回所有數據並使用客戶端分頁。 如果您只有50行數據,我建議您使用客戶端分頁。 您只需要在loadonce: true包含loadonce: true選項,所有這些都應該已經可以工作了。 通常,如果從服務器加載的數據loadonce: true則建議使用loadonce: true選項。 沒有首選客戶端分頁的確切行數限制。 大約有1000或10000行數據。 因此,如果確實有50行數據,則強烈建議使用。

如果確實需要實現RESTful服務的服務器端分頁(在非常大的數據集的情況下),則您的服務必須支持請求的其他參數 ,這些參數與資源URL無關。 例如,開放數據協議(OData)URI支持版本2.0(請參見此處 )開始,參數$orderby$skip$top$inlinecount可以附加到URL上,以通知服務器返回按$orderby排序的數據$orderby 根據$skip$top參數的值,返回的數據應僅包含一頁排序的數據。 網址看起來像

http://host:port/path/SampleService.svc/Categories(1)/Products?$top=2&$orderby=Name
\______________________________________/\____________________/ \__________________/
                      |                               |                       |
              service root URL                  resource path           query options

舊答案提供了實現jqGrid的示例,該實現調用了開放數據協議(OData)Web服務。 我使用serializeGridData回調填充$top “理解” OData Web服務的$top$skip$orderby$inlinecount 由於在請求中使用了$inlinecount: "allpages" ,因此我基於從服務器返回的count屬性使用了beforeProcessing回調來返回total屬性。 如果您使用的RESTful Web服務也支持OData,那么您可以使用相同的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM