在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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 style="color:#ff0000;">var cf:ClassFactory=new ClassFactory(GroupHeaderRenderer); cf.properties ={'children':children,'expand':expand}; group.headerRenderer=cf; group.children=children; return group; } |
请发表评论