2016-10-23 60 views
1

我已經q採用的jqGrid, 'D組標題行配置' 的jqGrid在demo website版本。如何對具有多種類型值的列進行排序? [Trirand的jqGrid 4.6]

enter image description here

其生成的網格。但假設senario在哪裏Notes列可以包含數字和字符串,因爲在某些行中有數字在某些行中有字符串字符,將快速分類關閉,它只適用於字符串字符。

情景:假設表中有五行和Notes列有五列如下數據:

this is good 

123 

number 123 number 

>123.23 

<=222.88 

我已經添加了排序選項colModel尤斯排序:真實的,但這隻各種各樣如果備註欄具有所有行的字符串字符串,但不包含數字行和字符串字符行的組合。我該如何解決?

回答

1

jqGrid包含多種可能性來自定義排序。首先重要的是要提到,只有當您使用datatype: "local"或某些遙控器datatype"json","jsonp","xml")與loadonce: true的組合時,以下所有可能性纔有意義。在最後一種情況下,從服務器首次加載數據後,datatype將更改爲"local"

要對jqGrid列中的本地數據進行排序,必須對這些值進行比較。它做了一些預備步驟。首先,如果用項目填充數組,這些項目將內容從一列映射到rowid。因此,您可以定義

sorttype: function (cellValue, item) { 
    return cellValue; // another value as cellValue can be returned 
} 

它爲您提供了自定義排序的第一種方式。比如,你可以使用正則表達式來提取從callValue的信息,「數量」雙組分,並從sorttype返回它(你可以在colModel定義列notes)。請參閱爲the answer創建的the old demo瞭解更多詳情。

第二種方法:在colModelsortfunc回調的定義。回調有原型

sortfunc: function (a, b, direction) { 
    // should return 0, 1 or -1 
} 
在舊版本的jqGrid的

sortfunc: function (a, b, direction, aItem, bItem) { 
    // should return 0, 1 or -1 
} 
free jqGrid

sortfunc允許您實現您需要的任何自定義排序行爲。代碼示例請參見爲the issue創建的the demo

相關問題