[整理]flex,datagrid数值列排序
最近几天遇到一个问题,从数据库里取出来的数据,转成ArrayCollection,绑定到datagrid上,结果发现点击id表头时,竟然不按数值从小到大排序,而是按字符串的ascii码来排,后来问了ks,在javaeye上面找到的解决方法,需要自定义一个排序的方法,然后调用就可以,在我的电脑上已经应用成功,现在把这个仁兄的整理一下,发出来,附链接地址:http://i5land.javaeye.com/blog/301574
那个自定义排序方法的代码:
那个自定义排序方法的代码:
1 public function sortcompare(obj1:Object,obj2:Object):int{
2 var num1:Number=Number(obj1.id.toString());
3 var num2:Number=Number(obj2.id.toString());
4 if(num1>num2){
5 return 1;
6 }else if(num1<num2){
7 return -1;
8 }else{
9 return 0;
10 }
11 }
然后只要在需要重新定义排序方法的列上改变这个属性即可:sortCompareFunction="sortcompare"2 var num1:Number=Number(obj1.id.toString());
3 var num2:Number=Number(obj2.id.toString());
4 if(num1>num2){
5 return 1;
6 }else if(num1<num2){
7 return -1;
8 }else{
9 return 0;
10 }
11 }