如何在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;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)

相关推荐

  • Android 中Popwindow弹出菜单的两种方法实例

    Android 中Popwindow弹出菜单的两种方法实例 1.popWindow就是对话框的一种方式! 此文讲解的android中对话框的一种使用方式,它叫popWindow. 2.popWindow的特性 Android的对话框有两种:PopupWindow和AlertDialog.它们的不同点在于: AlertDialog的位置固定,而PopupWindow的位置可以随意. AlertDialog是非阻塞线程的,而PopupWindow是阻塞线程的. PopupWindow的位置按照有无偏

  • 小程序中监听页面滚动的几种方法实例

    目录 目录 实现效果 下面是Intersection Observer在MDN上的介绍 IntersectionObserver relativeToViewport 接受参数 Object margins observe(string targetSelector, function callback) 参数 Object res 小程序中监听页面的其他方法 page-meta scroll-view 总结 在工作中我们经常遇到需要监听页面中元素位置,当元素超出显示区域或即将显示到页面上,我们

  • spring中通过ApplicationContext getBean获取注入对象的方法实例

    用SpringContextUtil实现ApplicationContextAware package util; import java.util.Locale; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; pub

  • python DataFrame中loc与iloc取数据的基本方法实例

    目录 1.准备一组DataFrame数据 2.loc标签索引 2.1loc获取行 2.1.1loc获取一行 2.1.2loc获取多行 2.1.3loc获取多行(切片) 2.2loc获取指定数据(行&列) 3.iloc位置索引 3.1iloc获取行 3.1.1iloc获取单行 3.1.2iloc获取多行 3.2iloc获取指定数据(行&列)获取所有行,指定列 总结 关于python数据分析常用库pandas中的DataFrame的loc和iloc取数据 基本方法总结归纳及示例如下: 1.准备

  • C语言中判断素数(求素数)的思路与方法实例

    目录 前言 思路1实现: 思路2实现: <C与指针>4.14-2: 补充:判断素数的4种方法实例 总结 前言 素数又称质数.所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除. 思路1):因此判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数. 思路2):判断方法还可以简化.m 不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~  之间的每一个整数去

  • python中list列表删除元素的四种方法实例

    目录 在python列表中删除元素主要分为以下3种场景: del:根据索引值删除元素 pop():根据索引值删除元素 remove():根据元素值进行删除 clear():删除所有元素 补充: 删除元素的变相方法 总结 在python列表中删除元素主要分为以下3种场景: 根据目标元素所在的索引位置进行删除,可以使用del关键字或pop()方法: 根据元素本身的值进行删除,可使用列表(list类型)提供的remove()方法: 将列表中所有元素全部删除,可使用列表(list类型)提供的clear(

  • echarts设置图例颜色和地图底色的方法实例

    前言 本来想写echarts初始化函数的,但最近因为要写一个地图与柱状图的混合方式,也就是每个省的地图上要有柱状图显示.于是仔细使用了一下地图. 1.地图的一些基本属性就不介绍了,还是那些style 2.地图数据的获取以及Series的加载和其他没有什么大的差异.地图数据都在map.js中,都可以自己看,也可以自己根据格式获取响应的数据. 这里主要想处理的是图例颜色与地图底图颜色怎么设置的问题. 1.图例的颜色代码 refresh: function (newOption) { if (newO

  • Go中string与[]byte高效互转的方法实例

    目录 前言 数据结构 常规实现 string转[]byte []byte转string 高效实现 性能测试 总结 前言 当我们使用go进行数据序列化或反序列化操作时,可能经常涉及到字符串和字节数组的转换.例如: if str, err := json.Marshal(from); err != nil { panic(err) } else { return string(str) } json序列化后为[]byte类型,需要将其转换为字符串类型.当数据量小时,类型间转换的开销可以忽略不计,但当

  • iOS中监听UITextField值改变事件的方法实例

    前言 在实际情况中我们有时候在界面输入时候需要让用户输入的数据与模型同步,那么可能我们就需要监听UITextField值改变事件,然后在响应的方法中将新的值同步到模型中.这次我们主要提出三种方案,其中第一种方案是不一定有效的,后两种方案则是比较可靠的方案. 一.实现UITextFieldDelegate协议. 这种方式实际上是由系统空间回调协议中的方式,并且通过查阅文档我们可以发现有以下相关接口是相关的. - (BOOL)textFieldShouldBeginEditing:(UITextFi

  • swift中正确安全声明一个单例的方法实例

    Talk is cheap. Show me the code. class TestShareInstance{ var age:Int static let shareInstane:TestShareInstance = TestShareInstance(age: 3); private init(age:Int){ self.age = age; }; } 说说原理 swift在类中,类变量是能够保证线程安全,swift底层,static关键字的实际上是使用dispatch_once语

随机推荐