Javascript 如何对具有多种值类型的列进行排序?[Trirand JQGrid 4.6]
我在中使用了jqgrid的jqgrid的“groupd header row config”版本 它生成网格。但是假设senario whereJavascript 如何对具有多种值类型的列进行排序?[Trirand JQGrid 4.6],javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,我在中使用了jqgrid的jqgrid的“groupd header row config”版本 它生成网格。但是假设senario whereNotes列可以包含数字和字符串,因为在某些行中有数字,而在某些行中有字符串字符,排序truns off,它只对字符串字符有效 场景:假设该表有五行,Notes列有五行以下数据: this is good 123 number 123 number >123.23 <=222.88 这很好 123 123号 >123.23 jqG
Notes
列可以包含数字和字符串,因为在某些行中有数字,而在某些行中有字符串字符,排序truns off,它只对字符串字符有效
场景:假设该表有五行,Notes
列有五行以下数据:
this is good
123
number 123 number
>123.23
<=222.88
这很好
123
123号
>123.23
jqGrid包含多种定制排序的可能性。首先,必须指出的是,只有在将数据类型:“local”
或某个远程数据类型
(“json”
,“jsonp”
,“xml”
)与loadonce:true
结合使用时,以下所有可能性才有意义。在最后一种情况下,从服务器首次加载数据后,数据类型将更改为“本地”
要对列jqGrid中的本地数据进行排序,必须比较这些值。它做了一些初步的步骤。首先,if用items填充数组,将内容从一列映射到rowid。因此,您可以定义
sorttype: function (cellValue, item) {
return cellValue; // another value as cellValue can be returned
}
它为您提供了自定义排序的第一种方法。例如,您可以使用RegEx从callValue
中提取“number”部分信息,并从sorttype
返回它(您可以在colModel
中为notes
列定义该信息)。有关更多详细信息,请参见创建
第二种方法:在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
}
在。sortfunc
允许您实现所需的任何自定义排序行为。有关代码示例,请参见创建