如何使用flex在datagrid中对dd / mm / yy日期格式进行排序?

时间:2010-09-28 12:44:58

标签: java flex actionscript-3 datagrid

我使用了如下所示的数组收集排序方法。但仍然错误地排序。使用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

1 个答案:

答案 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;
}