Flex中通过监测change事件阻止用户取消DateChooser控件选中日期的例子
By Minidxer | July 22, 2008
接下来的例子演示了Flex中如何通过监测change事件,阻止用户取消DateChooser控件选中日期。本例中还增加了一个List控件使用户可以选择无效的日期(星期)。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white">
- <mx:Script>
- <![CDATA[
- import mx.events.CalendarLayoutChangeEvent;
- private function dateChooser_change(evt:CalendarLayoutChangeEvent):void {
- /* Prevent deselecting of dates. */
- if (evt.currentTarget.selectedDate == null) {
- evt.currentTarget.selectedDate = evt.newDate;
- }
- }
- ]]>
- </mx:Script>
- <mx:Array id="weekDayNames">
- <mx:String>Sun</mx:String>
- <mx:String>Mon</mx:String>
- <mx:String>Tue</mx:String>
- <mx:String>Wed</mx:String>
- <mx:String>Thu</mx:String>
- <mx:String>Fri</mx:String>
- <mx:String>Sat</mx:String>
- </mx:Array>
- <mx:String id="selDate">{dateChooser.selectedDate.toDateString()}</mx:String>
- <mx:HBox>
- <mx:VBox>
- <mx:DateChooser id="dateChooser"
- disabledDays="{disabledDaysList.selectedIndices}"
- selectedDate="{new Date()}"
- dayNames="{weekDayNames}"
- yearNavigationEnabled="true"
- change="dateChooser_change(event)" />
- <mx:Label text="Selected date: {selDate}" />
- </mx:VBox>
- <mx:VBox>
- <mx:Label text="Disabled days:" />
- <mx:List id="disabledDaysList"
- width="100"
- dataProvider="{weekDayNames}"
- allowMultipleSelection="true" />
- </mx:VBox>
- </mx:HBox>
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:minidxer
Topics:
Flex |
Tags: DateChooser, dayNames, disabledDays, selectedDate