我使用了如下所示的数组收集排序方法。但仍然错误地排序。使用flex3的任何其他排序日期解决方案
public function SortingDate(ArrColl : ArrayCollection, field : String) : void{
var sortA:Sort = new Sort();
sortA.fields=[new SortField(field,false,true,null)];
ArrColl.sort=sortA;
ArrColl.refresh();
}
它正在排序,但只有一天排序,如
31/08/10
30/09/10
28/07/10
答案 0 :(得分:1)
您需要在日期使用的DataGridColumn上指定sortCompareFunction。
看起来像这样:
dateColumnSortCompareFunc(obj1:Object, obj2:Object) : int {
// here you translate your object into things that can be evaluated
// and return 1 if obj1 > obj2, 0 if they are equal, and -1 if obj1 < obj2
// for example
var d1:Date = new Date(obj1);
var d2:Date = new Date(obj2);
return ( d1.valueOf() > d2.valueOf() ) ? 1 : ( d1.valueOf() < d2.valueOf() ) ? -1 : 0;
}