2016-08-18 103 views
0

我有一個使用JQuery Grid包含3列(名稱,日期,值)構建的表。 'date'和'value'列可以有null或'NA'值。所以,當我使用下面的代碼爲jqGrid的功能的一部分,它的工作原理爲「名」,但不是「日期」和「值」:如何將自定義排序功能添加到jQuery網格?

colModel: [ 
       {name: "name", sortable: true}, 
       {name: "date", sortable: true}, 
       {name: "value", sortable: true} 
      ], 

我怎樣才能得到分揀工作了日期和值列。我應該如何將自定義排序添加到此?

+0

當您嘗試使用值或日期排序時,出現什麼錯誤? –

+0

@Periklis我發現這個問題。但是我也發現每次排序都會觸發後端(每當用戶點擊列標題時)。有沒有更好的方式來做jQuery網格中的排序? – Nisman

+0

@Nisman:你使用哪個版本的jqGrid,從哪個版本的jqGrid([免費jqGrid](https://github.com/free-jqgrid/jqGrid),商業版[Guriddo jqGrid JS](http:// guriddo。 net /?page_id = 103334)或版本<= 3.7的舊jqGrid)?自定義排序的可能性取決於信息。此外,如果您真的使用遠程數據類型('「json」或'「xml」')並且不使用'loadonce:true',那麼*服務器*負責排序。如果您在客戶端*上對數據進行排序,則需要知道輸入數據的格式(如日期)。請附上您的問題與上述信息。 – Oleg

回答

0

如果您使用datatype: "json"loadonce: false然後排序做只有您的服務器。沒有客戶端功能(jqGrid)可以幫助您實現自定義排序。您必須在您的服務器端代碼中實施自定義排序。例如,如果用戶點擊"date"列的標題,那麼jqGrid只是向參數sidx=datesord=asc(或sidx=datesord=desc)發送Ajax請求到服務器。服務器必須正確返回已排序的JSON數據,並且jqGrid按照服務器返回的順序顯示數據。

因此,您必須在您的服務器端代碼中實現自定義排序。

0

colModel名稱應該與表中的名稱相同。

+0

現在我發現它是如何工作的。實際上有兩個問題:首先,我不想打到後端進行排序。其次是來自不同表格的日期和值列值。它們基於一些計算。 – Nisman

相關問題