Flex DateChooser - 在日历底部显示当前日期

时间:2012-03-23 16:56:03

标签: flex

我想在 DateChooser 控件的日历底部显示当前日期。有没有人扩展 DateChooser 控件来执行此操作?

附图像......

enter image description here

我设法取消了一些代码,但是,我仍然有一点想法如何在datechooser控件下面添加标签。

package
{
    import mx.controls.DateChooser;
    import mx.controls.Label;
    import mx.core.UITextField;
    import mx.core.IUITextField;
    import mx.core.UIComponent;
    import mx.core.mx_internal;
    import flash.display.Sprite;

    public class ExtendedDateChooser extends DateChooser
    {
        public function ExtendedDateChooser()
        {
            super();
        }

        protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void 
        {
            super.updateDisplayList(unscaledWidth, unscaledHeight);
            var dateGrid : UIComponent = mx_internal::dateGrid;

            // Code to add the label here....
            // BELOW DOES NOT WORK!
            /*
            var label:Label = new Label();
            label.text = "TEST";
            label.y = dateGrid.height + 5;
            label.x = 5;
            this.addChildAt(label, this.getChildIndex(dateGrid));
            */

        }
    }
}

在我的MXML中,我将控件声明如下:

<mx:DateField width="100" parseFunction="{null}" dropdownFactory="ExtendedDateChooser" />

1 个答案:

答案 0 :(得分:2)

为了干净利落地执行此操作,您实际想要扩展的是DateChooser控件,因为它代表下拉列表。

然后,您需要更改DateField控件的下拉类

myDateField.dropdownFactory = new ClassFactory(ExtendedDateChooser);

我将继续更新这个答案,因为我有时间研究。