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

Java 如何使用flex对datagrid中的dd/mm/yy日期格式进行排序?,java,apache-flex,actionscript-3,datagrid,Java,Apache 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

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

您需要在用于日期的DataGrid列上指定SortComparennction

看起来是这样的:

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;
}
DateColumnSortCompareUnc(obj1:Object,obj2:Object):int{
//在这里,您可以将对象转换为可以评估的对象
//如果obj1>obj2,则返回1;如果它们相等,则返回0;如果obj1d2.valueOf())?1:(d1.valueOf()
您需要在用于日期的DataGrid列上指定排序比较

看起来是这样的:

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;
}
DateColumnSortCompareUnc(obj1:Object,obj2:Object):int{
//在这里,您可以将对象转换为可以评估的对象
//如果obj1>obj2,则返回1;如果它们相等,则返回0;如果obj1d2.valueOf())?1:(d1.valueOf()
private function date\u sortcomparuenc(itemA:Object,itemB:Object):int{var dateA:date=new date(date.parse(itemA.enddatetime));var dateB:date=new date(date.parse(itemB.enddatetime));返回ObjectUtil.dateCompare(dateA,dateB);}在上面的enddatetime是datagrid中的数据字段,我使用了SortComparFunction进行比较(dd/mm/yy)格式字符串,但没有排序。u证书可以使用Date.valueOf(),因为它更简单。为什么要先将其转换为字符串以使用Date.parse()?Date.valueOf()提供毫秒。我也使用了Date.valueOf(),但显示错误Robusto先生,谢谢你的回复我添加了你的函数,就像这样SortComparenction。enddatetime格式为dd/mm/yy。是否正确?私有函数date_sortcomparuenc(itemA:Object,itemB:Object):int{var dateA:date=new date(date.parse(itemA.enddatetime));var dateB:date=new date(date.parse(itemB.enddatetime));返回ObjectUtil.dateCompare(dateA,dateB);}在上面的enddatetime是datagrid中的数据字段,我使用了SortComparFunction进行比较(dd/mm/yy)格式字符串,但没有排序。u证书可以使用Date.valueOf(),因为它更简单。为什么要先将其转换为字符串以使用Date.parse()?Date.valueOf()提供毫秒。我也使用了Date.valueOf(),但显示错误Robusto先生,谢谢你的回复我添加了你的函数,就像这样SortComparenction。enddatetime格式为dd/mm/yy。是这样吗?