Ext 中字段的排序


Ext 中字段的排序

//设定字段的排序方式

var subjectFields = [{ name: 'subjectid', type: 'int' }, { name: 'subjectname' }, { name: 'answera' }, { name: 'answerb' }, { name: 'answerc' }, { name: 'answerd' }, { name: 'answerright' }, { name: 'point', type: 'int' }, { name: 'percent',sortType: Ext.data.SortTypes.asFloat}];  

/*

type:'int'  意思是按数字排序,如果你不设置,Ext会默认按字符串类型帮你排序.

以下是type的参数:

  • type:String
  • auto (默认,没有转换类型)
  • string
  • int
  • float
  • boolean
  • date

但是如果使用type来排序,已经将这个字段的类型改变为type的类型, 如果你希望排序的同时不影响你原有字段的类型,

就可以用sortType.

sortType是一个Ext.data.SortTypes类型的元素

sortType有以下的参数:

  • stripTagsRE (正则表达式的标签)
  • asDate
  • asFloat
  • asInt
  • asText
  • asUCString
  • asUCText
  • none(默认排序)

在Ext自带的API里asDate,asFloat等参数都是方法,但是我发现调用的时候都用的是属性调用,大家有兴趣的话可以去看看官方的API

一般像百分比,美元之类的,其中有(%,$)等符号,但是这些字段是字符串类型的,如果你用type:int,Ext会自动剔除字段中的符号,这个时候你就可以用sortType来排序。

比如你有一个字段是'percent',字段的值是"12.22%,13.33%,2.22%",

{name:'percent'}   的显示结果是: 12.22% 13.33% 2.22%    这个是按字符串排序

{name:'percent',type:'int'}  的显示结果是: 2.22 12.22 13.33   自动剔除了字符中百分号

{ name: 'percent',sortType: Ext.data.SortTypes.asFloat} 的显示结果是 2.22%,12.22%,13.33%   正常效果

注意:asFloat不需要加括号

Ext虽然没有提供特定类型的排序方式,不过如果你把数据类型设置成int,或者string,date等对应的类型.它会自动帮你完成排序.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值