flex dateForm

          <?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 id="selectdate" width="100%" height="100%"/>
           <mx:Form width="340" height="270" paddingBottom="6" paddingLeft="6" paddingRight="6" paddingTop="6" fontSize="12" id="frmData" backgroundColor="#e3e3e3" backgroundAlpha="1.0" borderStyle="solid" cornerRadius="11" alpha="1.0" borderThickness="4" borderColor="#808080">
            <mx:ApplicationControlBar width="100%" paddingLeft="14" paddingRight="0" fillColors="[#ffffff, #8080c0]" borderColor="#8080c0" themeColor="#8080c0" fillAlphas="[1.0, 1.0]" paddingBottom="2" paddingTop="2">
             <mx:ComboBox change="yearchange()" rowCount="10" width="70" height="24" useHandCursor="true" id="cmdPYears"></mx:ComboBox>
             <mx:ComboBox change="monthchange()" rowCount="10" width="58" id="cmdmonth"></mx:ComboBox>
            </mx:ApplicationControlBar>
            <mx:ControlBar width="100%" paddingBottom="0" paddingLeft="14" paddingRight="0" paddingTop="0">
             <mx:Label text="日" textAlign="center" width="35" height="24" fontWeight="bold"/>
             <mx:Label text="一" textAlign="center" width="35" height="24" fontWeight="bold"/>
             <mx:Label text="二" textAlign="center" width="35" height="24" fontWeight="bold"/>
             <mx:Label text="三" textAlign="center" width="35" height="24" fontWeight="bold"/>
             <mx:Label text="四" textAlign="center" width="35" height="24" fontWeight="bold"/>
             <mx:Label text="五" textAlign="center" width="35" height="24" fontWeight="bold"/>
             <mx:Label text="六" textAlign="center" width="35" height="24" fontWeight="bold"/>
            </mx:ControlBar>
            <mx:Form width="100%" height="180" paddingBottom="0" paddingLeft="0" paddingRight="0" id="frmdates" paddingTop="0">
            </mx:Form>
           </mx:Form>
           <mx:Script>
           <![CDATA[
           //Copyright (c) 2005-2006 JianHan Fan 
           //Mail:henryfan@msn.com
           //All rights reserved.
           //-------------------------------------
            import mx.containers.ControlBar;
            import mx.controls.Button;
            import mx.events.IndexChangedEvent;
            import mx.controls.Alert;
            private var mDateValue:Date =new Date();
            function oninit():void
            {
             
             ViewDate(DateValue);
             __CreateControls();
             var b:Button = new Button();
             removeChild(frmData);
             selectdate.popUp= frmData;
            }
            
            public function set DateValue(value:Date)
            {
             mDateValue = value;
             ViewDate(value);
            }
            public function get DateValue():Date
            {
             return mDateValue;
            }
            private function ViewDate(value:Date):void
            {
             selectdate.label= value.fullYear.toString()+"年"
             +(value.month+1).toString()+"月"+ value.date.toString()+"日";
             
            }
            private function __CreateControls():void
            {
             SetSelectYears(DateValue.fullYear);
             createDate(DateValue);
             
            }
            private function createDate(value:Date):void
            {
             frmdates.removeAllChildren();
             var towmonth:int=0;
             var buttons:Array = new Array();
             var item:Button;
             if((value.fullYear%4==0 && value.fullYear%100 !=0) || value.fullYear%400==0)
             {
              towmonth=29;
             }
             else
             {
              towmonth = 28;
             }
             var monthdays:Array= new Array(
             31,towmonth,31,30,31,30,31,31,30,31,30,31);
             //生成本月第一天
             var nd:Date = new Date(value.fullYear,value.month,1);
             var pmdays:int;//上一個月的日數
             if(nd.month==0)
             {
              pmdays= monthdays[11];
             }
             else
             {
              pmdays = monthdays[(nd.month-1)];
             }
             
             
             for(var i:int=(pmdays-nd.day+1);i<=pmdays;i++)
             {
              item = new Button();
              item.label = i.toString();
              item.setStyle("fillColors",[0x808080, 0x808080]);
              if(nd.month==0)
              {
               item.data =new Date(nd.fullYear-1,11,i);
              }
              else
              {
               item.data = new Date(nd.fullYear,nd.month-1,i);
              }
              buttons.push(item);
              
             }
             for(var i:int=1;i<=monthdays[nd.month];i++)
             {
              item = new Button();
              item.label = i.toString();
              item.data = new Date(nd.fullYear,nd.month,i);
              
              item.visible= true;
              buttons.push(item);
             }
             //生成本月最后一天
             nd = new Date(value.fullYear,value.month,monthdays[nd.month]);
             var nday:int=1;//下一個月的日期
             for(var i:int= nd.day+1;i<7;i++)
             {
              item = new Button();
              item.label = nday.toString();
              item.setStyle("fillColors",[0x808080, 0x808080]);
              if(nd.month==11)
              {
               item.data =new Date(nd.fullYear+1,0,nday);
              }
              else
              {
               item.data =new Date(nd.fullYear,nd.month+1,nday);
              }
              buttons.push(item);
              nday++;
             }
             var panel:ControlBar;
             var row:int=0;
             for(var i:int =0;i< buttons.length;i++)
             {
              buttons[i].width =35;
             
              (buttons[i] as Button).addEventListener("click",onclick);
              if(i==0 || (i+1)%7==1)
              {
               panel = new ControlBar();
               panel.width=new Number("100%");
               panel.setStyle("paddingBottom",1);
               panel.setStyle("paddingLeft",14);
               panel.setStyle("paddingRight",1);
               panel.setStyle("paddingTop",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>

          posted on 2007-05-14 11:27 leoli 閱讀(505) 評論(0)  編輯  收藏 所屬分類: Flex

          導航

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          統計

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案(17)

          文章分類(86)

          收藏夾(3)

          flex blog

          good site

          java blog

          my friend

          tools

          抓蝦

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 象山县| 洮南市| 大渡口区| 南木林县| 巴楚县| 梨树县| 香港 | 昌图县| 兴海县| 左贡县| 临泽县| 尉氏县| 兰溪市| 通化市| 石柱| 临颍县| 繁峙县| 太白县| 长乐市| 晋中市| 荣成市| 西昌市| 东乌| 丹东市| 南安市| 高青县| 信阳市| 夏津县| 遵义县| 吴旗县| 玉溪市| 西乡县| 施甸县| 江川县| 宣威市| 尉氏县| 鸡东县| 瓦房店市| 岫岩| 即墨市| 敖汉旗|