| 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;
 }
 
 (编辑:源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |