2012-03-23 88 views
1

我想在日历的底部显示日期的当前日期DateChooser控件。有没有人扩展了DateChooser控制来做到这一点?Flex 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" /> 

回答

2

为了干净地做到这一点,你真的想扩展什么是DateChooser控制,作为代表下拉。

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

myDateField.dropdownFactory = new ClassFactory(ExtendedDateChooser); 

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

+1

我希望你能提供更多的见解,如何做到这一点。谢谢。 – Angelo 2012-03-23 17:24:04