Flex中日期选择控件选择范围控制
Flex中日期选择控件选择范围控制
2009-03-05 10:35
在会议室预定的预定模块中,需要用户输入预定开始日期和预定的结束日期,基本规则是开始时间要在今天之后(包含今天),而结束时间需要在开始时间之后(包含)。
在代码中,基本情形如下:
<mx:DateField id="startDate" yearNavigationEnabled="true" color="0x000000"/>
<mx:DateField id="endDate" yearNavigationEnabled="true" color="0x000000"/>
为了达到上述目的,只需要在datefield组件中提供selectableRange属性,该属性代表可以选择范围,比如对于开始时间,如下:
selectableRange="{{rangeStart:new Date()}}" 表示从今以后的日期才能够选择。
对于结束日期:
selectableRange="{{rangeStart:startDate.selectedDate}}"当中需要注意的是黑体字部分,设定了可用范围的起始时间将由startDate 的选择日期决定。
dateField组件除了提供可用范围外,还提供了不可用范围,比如为了达到上述目的,对于开始时间而言,可以将不可用范围的截止日期设置为昨天即可。不过此种做法毕竟繁琐(至少要获取昨天几号吧!是4号!)。