Adobe Flex日期
问题描述:
嗨我在日期有问题。Adobe Flex日期
我有一个自定义dateChooser。
在dateChooser组件中,突出显示了一些假期,并同时在容器中列出了假期。
问题是我在容器中显示的日期没有按升序排列,有些人请帮忙。
链路用于与视图源演示应用程序启用
http://125.22.254.206/clients/flexdemos/calendardemo/calendardemo.html
的所述逻辑是在custome文件夹下ExtendedDateChooser.as实现。
答
我想,你不能按日期排序。
首先,我在您的应用程序中看不到容器。
我的方法是解析日期以毫秒为单位自1970年以来
parse(date:String):Number
然后,你可以通过一些逻辑排序。
BR 弗兰克
+0
您好请滚动浏览日期选择器控制大。你会看到容器,因为没有假期2月容器没有显示。 – Arulmurugan 2011-02-01 17:40:02
答
你们是不是要进行排序在 'holidayView' VBOX的日期? 你不能比较和排序两个日期。您可以使用下面给出的日期比较方法(在网上搜索找到一个更好的)。如果在VBOX显示假期的控制是一个DataGrid,在标签属性使用
<mx:DataGridColumn
headerText="Created Date"
date="createdDt"
sortCompareFunction="date_sortCompareFunc">
</mx:DataGridColumn>
将导致sortedDate
private function date_sortCompareFunc(itemA:Object, itemB:Object):int
{
/* Date.parse() returns an int, but
ObjectUtil.dateCompare() expects two
Date objects, so convert String to
int to Date. */
var dateA:Date=isoToDate(itemA.createdDt);
var dateB:Date=isoToDate(itemB.createdDt);
return ObjectUtil.dateCompare(dateB, dateA);
}
private function isoToDate(value:String):Date {
var dateStr:String = value;
dateStr = dateStr.replace(/\-/g, "/");
dateStr = dateStr.replace("T", " ");
dateStr = dateStr.replace("Z", " GMT-0000");
return new Date(Date.parse(dateStr));
}
我看不到您的演示应用程序中提到的容器。我们如何看到你的排序不能正常工作的例子? – 2011-02-01 16:14:24
您好,请滚动浏览日期选择控件。你会看到容器,因为没有假期2月容器没有显示。 – Arulmurugan 2011-02-01 18:02:39