嗨,我在约会时遇到了问题。
我有一个自定义dateChooser。
在dateChooser组件中突出显示某些假日,同时在容器中列出假期。
问题是我在容器中显示的日期不按递增顺序可以请一些人帮忙。
启用了视图源的演示应用程序的链接
http://125.22.254.206/clients/flexdemos/calendardemo/calendardemo.html
所述逻辑在custome文件夹下的ExtendedDateChooser.as中实现。
答案 0 :(得分:1)
您是否尝试在'holidayView'vbox中对日期进行排序? 你不能比较和排序两个日期。您可以使用下面给出的日期比较方法(搜索网络以找到更好的方法)。如果vbox中显示假期的控件是数据网格,请使用
<mx:DataGridColumn
headerText="Created Date"
date="createdDt"
sortCompareFunction="date_sortCompareFunc">
</mx:DataGridColumn>
tag属性中的将导致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));
}
答案 1 :(得分:0)
我想,你不能按日期排序。
首先,我无法在您的应用中看到容器。
我的方法是将自1970年以来的日期解析为毫秒
parse(date:String):Number
然后你可以通过一些逻辑对它进行排序。
BR 弗兰克