如何在Renderer中设置属性 Renderer中设置属性的方法实例

2023-12-05 0 142

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; }

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Flex 如何在Renderer中设置属性 Renderer中设置属性的方法实例 https://www.u-9.cn/biancheng/flex/96609.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务