【发布时间】:2012-02-12 03:01:34
【问题描述】:
这让我发疯了,我需要按日期对 Flash DataGrid 列(不是 Flex)进行排序。我试过给日期列一个排序函数,如下所示:
colTwo.sortCompareFunction = sortDate;
这就是函数:
private function sortDate ($obj1,$obj2) : int {
trace("created date in sort "+$obj1["created"]);
var t1:Array = $obj1["created"].toString().split("-");
var t2:Array = $obj2["created"].toString().split("-");
var t1dt:Number=(new Date(Number(t1[0]),Number(t1[1]),Number(t1[2]))).getTime();
var t2dt:Number=(new Date(Number(t2[0]),Number(t2[1]),Number(t2[2]))).getTime();
trace(t1dt);
if(t1dt < t2dt) {
return -1;
} else if(t1dt == t2dt) {
return 0;
} else {
return 1;
}
}
但这似乎仍然试图按字母顺序对列进行排序。
任何帮助将不胜感激。
【问题讨论】:
-
不能按 UNIX 时间戳排序吗?
-
我进行了一些搜索并将我的日期转换为 unix 时间戳,这很有效,谢谢。
标签: flash actionscript-3 datagrid