主页 > 知识库 > 如何在Renderer中设置属性 Renderer中设置属性的方法实例

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

热门标签:服务器配置 检查注册表项 美图手机 银行业务 铁路电话系统 呼叫中心市场需求 智能手机 网站文章发布

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

标签:上海 沧州 沈阳 乐山 长治 新疆 红河 河南

巨人网络通讯声明:本文标题《如何在Renderer中设置属性 Renderer中设置属性的方法实例》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266