Есть ли какой-либо элемент управления Flex для выбора месяцев (любых)?
Прямо сейчас я использую DateField и позволяю пользователю выбирать любую дату в месяце, чтобы выбрать этот месяц.
Есть ли какой-либо элемент управления Flex для выбора месяцев (любых)?
Прямо сейчас я использую DateField и позволяю пользователю выбирать любую дату в месяце, чтобы выбрать этот месяц.
Может быть, попробовать 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;
}
}
}
Это всего лишь образец :) Надеюсь, это поможет.
Вы также можете использовать сжатый 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;
}
Не уверен, что отключение дней как-то полезно, но так как мы скрываем дни, подпанель бесполезна.
Обратите внимание, что я указал минимальный год и включил селектор года. Оставил в комментариях полезную функцию при работе с календарями :)