由于Flex自带的日期使用起来感觉不爽,所以自己动手写了一个。
    在这话就不多说了下面的控件的效果和实现代码:
Flex实现自定义日期控件


<?xml version="1.0" encoding="utf-8"?>
<mx:Form initialize="oninit()" xmlns:mx="http://www.adobe.com/2006/mxml" height="22" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" maxHeight="22" minHeight="22" minWidth="120">
 <mx:PopUpButton ,1);
     row++;
     
     panel.label=i.toString();
     frmdates.addChild(panel);
     
    }
    panel.addChild(buttons[i] as DisplayObject)
    
    
   }
   
   
   
   
   
   
  }
  private function onclick(event:Event)
  {
   DateValue= (event.currentTarget.data as Date);
  }
  private function SetSelectYears(year:Number):void
  {
   var nyears:Array = new Array();
   var start:Number = year-50;
   var end:Number = year+50;
   var months:Array = new Array();
   for(var i:Number=start;i<end;i++)
   {
    nyears.push({label:i,data:i});
   }
   for(var k:int=1;k<13;k++)
   {
    months.push({label:k,data:k});
   }
   cmdPYears.dataProvider= nyears;
   cmdPYears.selectedIndex=50;
   cmdmonth.dataProvider= months;
   cmdmonth.selectedIndex = DateValue.month;
  }
  private function yearchange()
  {
   var d:Date = new Date(
   cmdPYears.selectedItem.data,
   cmdmonth.selectedItem.data-1,1);
   createDate(d);
  }
  private function monthchange()
  {
   var d:Date = new Date(
   cmdPYears.selectedItem.data,
   cmdmonth.selectedItem.data-1,1);
      createDate(d);
  }
 ]]>
</mx:Script>

</mx:Form>

 

相关文章: