Handling events within custom components

Dec:use ArrayCollection as dataPrivider,due to it can update by refresh(),instead of Array(),

Event:when you select a value on Combox,the width of Combox is changed

below is Code for it

---com.flexsolutions.chapter2.as Page---

package com.flexsolutions.chapter2

{

	import flash.events.Event;

	

	import mx.collections.ArrayCollection;

	import mx.collections.Sort;

	import mx.collections.SortField;

	import mx.controls.ComboBox;



	public class Chapter_2_Sol_5 extends ComboBox

	{

		private var _myDP:ArrayCollection;

		public function Chapter_2_Sol_5()

		{

			super();

			this.addEventListener("creationComplete",resize);

		}

		public function set setMyDP(dataP:ArrayCollection):void{

		_myDP=dataP;

		_myDP.addItemAt("select a Value",0);

		this.dataProvider=_myDP;

		//var myClassesEvent:Event = new Event("changedDP");

		//dispatchEvent(myClassesEvent);

		}

		//[Bindable(event="changeDP")]

		public function get setMyDP():ArrayCollection{

		return _myDP;

		}

		public function resize(e:Event):void{

		addEventListener("focusIn",onFocusIn);

		this.width = 150;

		var sort=new Sort();

		sort.fields=[new SortField(null, true)];

		_myDP.sort=sort;

		_myDP.refresh();

		//super();

		}

		private function onFocusIn(e:Event):void{

			this.width=200;

		}

	}

}

---chapter2.xml Page---

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"

	xmlns:comp = "com.flexsolutions.chapter2.*">

	<mx:Script>

		<![CDATA[

			import mx.collections.ArrayCollection;

			private var myAC:ArrayCollection=new ArrayCollection(["First Value", "Second Value","Third Value"]);

			

		]]>

	</mx:Script>

	<comp:Chapter_2_Sol_5 id="myCB" setMyDP="{myAC}"  x="115" y="47"/>

		<mx:Label text="The width of my custom Combo box is: {myCB.width}"  x="101" y="151"/>

</mx:Application>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值