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瞭解更多詳情。
第二種方法:在colModel
sortfunc
回調的定義。回調有原型
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。