2012-03-23 11 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

関連する問題