我想要一个to user a DateChooser,允许用户在给定的月份和年份选择日期。我想以编程方式设置月份和年份,并且只允许用户选择日期/日。
我可以通过将minYear和maxYear设置为我想要的任何年份来轻松地完成这一年,但我没有看到一种直接的方法来禁止用户选择不同的月份?
发布于 2010-09-24 03:55:28
这就是如何禁用月份选择箭头...一个完全的CSS技巧!!
nextMonthUpSkin: ClassReference('mx.skins.Border');
nextMonthDisabledSkin: ClassReference('mx.skins.Border');
nextMonthDownSkin: ClassReference('mx.skins.Border');
nextMonthOverSkin: ClassReference('mx.skins.Border');
prevMonthUpSkin: ClassReference('mx.skins.Border');
prevMonthDisabledSkin: ClassReference('mx.skins.Border');
prevMonthDownSkin: ClassReference('mx.skins.Border');
prevMonthOverSkin: ClassReference('mx.skins.Border'); 我很抱歉在8月份没有看到这个问题。但我最近(昨天)遇到了同样的问题,发现了这个solution...cheers。
发布于 2011-02-24 22:18:23
正如JabbyPanda提到的,您可以扩展DateChooser控件。只需很少的额外工作,您就可以获得一个理想的、更具可重用性的实现,但这里我们将坚持简单性。因此,您需要做的就是删除fwdMonthButton和backMonthButton,或者通过将visible属性设置为false来隐藏它们。例如:
import mx.controls.DateChooser;
import mx.core.mx_internal;
use namespace mx_internal;
public class MyDateChooser extends DateChooser
{
override protected function createChildren():void {
super.createChildren();
// Remove them:
this.removeChild(this.mx_internal::fwdMonthButton);
this.removeChild(this.mx_internal::backMonthButton);
// Or just hide them:
//this.mx_internal::fwdMonthButton.visible = false;
//this.mx_internal::backMonthButton.visible = false;
}
}发布于 2010-08-03 00:18:15
您还可以使用selectableRange属性并相应地设置rangeStart和rangeEnd。仅允许用户选择2010年8月1日至2010年8月15日的示例:
selectableRange="{{rangeStart:new Date(2010,7,1), rangeEnd:new Date(2010,7,15)}}"
但是,请注意,它仍然会显示月份导航器箭头(尽管它们被禁用)。我不确定有没有简单的方法来隐藏它们。
https://stackoverflow.com/questions/3388695
复制相似问题