Flex:选择月份的任何控件?

时间:2009-06-18 07:38:29

标签: flex

是否有任何Flex控件可以选择月份(任何)?

现在我正在使用DateField,并允许用户选择一个月中的任何日期来选择该月。

2 个答案:

答案 0 :(得分:5)

也许尝试ComboBox?还是列表?

所以这是使用ComboBox的示例:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:controls="radekg.*">
    <mx:Form>
        <mx:FormItem label="Select date:">
            <controls:DateComboBox id="dcb" change="trace(dcb.selectedMonth)" />
        </mx:FormItem>
    </mx:Form>
</mx:WindowedApplication>

radekg / DateComboBox.as

package radekg {
    import mx.collections.ArrayCollection;
    import mx.controls.ComboBox;
    import mx.formatters.DateFormatter;

    public class DateComboBox extends ComboBox {

        public function DateComboBox() {
            super();
            var formatter:DateFormatter = new DateFormatter();
            formatter.formatString = "MMMM";
            dataProvider = new ArrayCollection();
            for (var i:int=0; i<12; i++) {
                var date:Date = new Date(1971,i,1);
                ArrayCollection(dataProvider).addItem(
                    { label: formatter.format(date), data: date }
                );
            }
            selectedIndex = 0;
        }

        public function get selectedMonth():Number {
            return (selectedItem.data as Date).month;
        }
        public function set selectedMonth(value:Number):void {
            selectedIndex = value;
        }

    }
}

这只是一个示例:)希望它有所帮助。

答案 1 :(得分:0)

你也可以使用压缩的DateChooser,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml">


    <mx:DateChooser id="dateChooser" height="31"/>

</mx:WindowedApplication>

在Init函数中:

//import com.adobe.fiber.runtime.lib.DateTimeFunc;

public function init():void {
//    var days:int = DateTimeFunc.daysInMonth(new Date() );
    var disabledDays:Array = [ 0, 1, 2, 3 , 4, 5, 6 ];
    this.view.dateChooser.disabledDays = disabledDays;
    this.view.dateChooser.yearNavigationEnabled = true;
    this.view.dateChooser.minYear = 2010;
}

我不确定禁用日期是否有用,但是由于我们隐藏了几天,子面板是没用的。

请注意,我指定了一年,并启用了年份选择器。 在使用日历时,我留下了评论用户的功能:)