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

所属分类: 网络编程 / Flex 阅读数: 1533
收藏 0 赞 0 分享

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

更多精彩内容其他人还在看

Flex自定义右键菜单具体实现

自定义右键菜单在flex的实现想必有很多朋友都没有尝试过吧,下面与大家分享下如何实现,具体代码如下
收藏 0 赞 0 分享

flex的tree动态加载大量数据与滚动条相关问题探讨

本文将对flex的tree动态加载大量数据与滚动条相关的问题进行探讨,感兴趣的朋友可以参考下哈,希望对你有所帮助
收藏 0 赞 0 分享

flex tree自动显示横向滚动条实现代码

flex tree自动显示横向滚动条想必有很多的朋友都不会吧,下面与大家分享下具体的实现方法,感兴趣的你可不要错过了哈
收藏 0 赞 0 分享

在as中监听自定义事件并处理事件的实例代码

点击一张图片,响应事件。必须在AS中,去监听事件,并处理事件,下面是具体的实现思路及功能代码,感兴趣的朋友可以参考下哈
收藏 0 赞 0 分享

FLEX HashMap遍历并取到需要的值

在项目用到了HashMap,需要遍历,并取到需要的值,具体实现代码如下,感兴趣的朋友可以参考下哈
收藏 0 赞 0 分享

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

如何在Renderer中设置属性 Renderer中设置属性的方法实例,需要的朋友可以参考一下
收藏 0 赞 0 分享

flex复选框和下拉列表的几种用法整理

自己闲暇时间整理了有关复选框可下拉的几种用法,在这里与大家分享下,感兴趣的朋友可以参考下哈,希望对大家有所帮助
收藏 0 赞 0 分享

Flex中实现对一个text渲染不同的字体颜色示例

本文为大家详细介绍下Flex中如何实现对一个text渲染不同的字体颜色,具体的实现思路及代码如下,有兴趣的朋友可以参考下哈,希望对大家有所帮助
收藏 0 赞 0 分享

Flex正则表达式判断中文或全角字符代码

文本框值的length取出的是字符个数,并不是字节长度,如果含有中文或者全角字符,一个字符是2个字节,下面与大家分享下具体的判断方法,感兴趣的朋友可以参考下哈
收藏 0 赞 0 分享

Flex 改变树结点图标的2种方法介绍

本文为大家介绍两种方法改变树结点图标:根据是否有子结点进行改变、根据结点的属性,灵活改变图标,具体实现如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助
收藏 0 赞 0 分享
查看更多