是否有任何Flex控件可以选择月份(任何)?
现在我正在使用DateField,并允许用户选择一个月中的任何日期来选择该月。
答案 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;
}
我不确定禁用日期是否有用,但是由于我们隐藏了几天,子面板是没用的。
请注意,我指定了一年,并启用了年份选择器。 在使用日历时,我留下了评论用户的功能:)