| 
                         ClassFactory的properties妙用 
1)UITextField与label,使用label显不出来  
复制代码 代码如下:  package com.citigroup.presentation.csa  {      import flash.events.MouseEvent; 
      import mx.controls.Label;      import mx.controls.advancedDataGridClasses.AdvancedDataGridHeaderRenderer;      import mx.core.UITextField;      import mx.events.FlexEvent; 
      public class GroupHeaderRenderer extends AdvancedDataGridHeaderRenderer      {          public var children:Array=[];          public var expand:Boolean=true;          private var l:UITextField;          public function GroupHeaderRenderer()          {              super();              l=new UITextField();              l.text="[-]";              l.addEventListener(MouseEvent.CLICK,toggle);                      addChild(l);              this.addEventListener(FlexEvent.CREATION_COMPLETE,init); 
          }          private function init(event:FlexEvent):void{              if(expand){                  l.text="[-]";              }else{                  l.text="[+]";                  toggleChildren(false);              }              this.removeEventListener(FlexEvent.CREATION_COMPLETE,init);          }          override public function set data(value:Object):void{              super.data = value;              this.setStyle("color","0xF9F088");              this.setStyle("fontWeight","bold");              this.setStyle("textAlign","left");          }          override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{                      super.updateDisplayList(unscaledWidth,unscaledHeight);              label.x=0;              l.x=label.x+label.width;                      l.y=label.y;          } 
          private function toggle(event:MouseEvent):void{              if(l.text=="[+]"){                  l.text="[-]";                  toggleChildren(true);              }else{                  l.text="[+]";                  toggleChildren(false);              }          }          private function toggleChildren(visible:Boolean):void{              if(children.length<=1) return;              for(var i:int=1;i<children.length;i++){                  children[i].visible=visible;              }          }      }  } 
  public function genAdgColumn(headerText:String,dataField:String,width:Number=100):AdvancedDataGridColumn{                  var col:AdvancedDataGridColumn=new AdvancedDataGridColumn();                  col.headerText=headerText;                  col.dataField=dataField;                  col.width=width;                  return col;              }              public function genAdgColumnGroup(headerText:String,dataField:String,children:Array,expand:Boolean=true):AdvancedDataGridColumnGroup{                  var group:AdvancedDataGridColumnGroup=new AdvancedDataGridColumnGroup();                  group.headerText=headerText;                  group.dataField=dataField;                  <span>var cf:ClassFactory=new ClassFactory(GroupHeaderRenderer);                  cf.properties ={'children':children,'expand':expand};                  group.headerRenderer=cf;                                  group.children=children;                  return group;              } 
                          (编辑:滁州站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |