• 自定义AdvancedDataGrid的groupItemRenderer


    package AddrList
    {
    	import flash.events.Event;
    	import flash.events.MouseEvent;
    	
    	import mx.collections.ArrayCollection;
    	import mx.controls.AdvancedDataGrid;
    	import mx.controls.CheckBox;
    	import mx.controls.advancedDataGridClasses.AdvancedDataGridGroupItemRenderer;
    
    	public class AdvancedDataGridGroupItemRendererEx extends AdvancedDataGridGroupItemRenderer
    	{
    		private var checkBox : CheckBox;
    		
    		public function AdvancedDataGridGroupItemRendererEx()
    		{
    			super();
    		}
    
    		override protected function createChildren():void
    		{
    			super.createChildren();
    			checkBox=new CheckBox();
    			checkBox.addEventListener(MouseEvent.CLICK,onChange);
    			checkBox.x = 4;
    			checkBox.y=label.y + 8;
    			addChild(checkBox);
    		}
    		
    		protected function onChange(e:MouseEvent):void 
    		{
    			e.stopPropagation();
    			var cbx:CheckBox = e.currentTarget as CheckBox;
    			var a:ArrayCollection = this.data.children as ArrayCollection;
    			for(var i:int =0;i<a.length;i++)
    			{
    				a[i].checked = cbx.selected;
    			}
    			data.selectedState = cbx.selected;
    			var d:AdvancedDataGrid = this.owner as AdvancedDataGrid;
    			d.invalidateList();
    		}
    
    		override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
    		{
    			super.updateDisplayList(unscaledWidth, unscaledHeight);
    			if (disclosureIcon)
    			{
    				disclosureIcon.x=disclosureIcon.x + 20;
    			}
    			if (icon)
    			{
    				icon.x=icon.x + 20;
    			}
    			label.x=label.x + 20;
    			checkBox.selected = data.selectedState;		
    		}
    	}
    }
    
  • 相关阅读:
    GNU C的定义长度为0的数组
    Ubuntu如何启用双网卡
    DQN 文章第一篇
    awk用法
    Linux下C结构体初始化
    Linux kernel中的list怎么使用
    从美剧中学(1)
    Python @property 属性
    p40_数据交换方式
    3.TCP协议
  • 原文地址:https://www.cnblogs.com/warrior/p/1905289.html
Copyright © 2020-2023  润新知