Flex combox labelFunction 使用示例

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

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
				layout="vertical"
				verticalAlign="middle"
				backgroundColor="white">
	
	<mx:Script>
		<![CDATA[
			import mx.utils.StringUtil;
			import mx.controls.Alert;
			
			[Bindable]
			private var arr:Array=[
				{name:"名字11",abbrev:"Al1"},
				{name:"名字12",abbrev:"Al2"},
				{name:"名字13",abbrev:"Al3"},
				{name:"名字14",abbrev:"Al4"},
			];
			
			private function comboBox_labelFunc(item:Object):String {
				return StringUtil.substitute("{0} ({1})", item.@name, item.@abbrev);
			}
			
			private function comboBox_labelFunc_custom(item:Object):String {
				return StringUtil.substitute("{0} ({1})", item.name, item.abbrev);
			}
			
			
			protected function button1_clickHandler(event:MouseEvent):void
			{
				if(this.comboBox2.selectedItem)
					Alert.show(this.comboBox2.selectedItem.name);
				else Alert.show("not selected");
				
				if(this.comboBox.selectedItem)
					Alert.show(this.comboBox.selectedItem.@name);
				else Alert.show("not selected");
				
			}
			
		]]>
	</mx:Script>
	
	<mx:XMLList id="statesXMLList">
		<state abbrev="AL" name="Alabama" />
		<state abbrev="AK" name="Alaska" />
		<state abbrev="AZ" name="Arizona" />
		<state abbrev="AR" name="Arkansas" />
		<state abbrev="CA" name="California" />
		<state abbrev="CO" name="Colorado" />
		<state abbrev="CT" name="Connecticut" />
	</mx:XMLList>
	<mx:ComboBox id="comboBox2"
				 prompt="Please select a aa..."
				 dataProvider="{arr}"
				 labelFunction="comboBox_labelFunc_custom" />
	<mx:Button label="按钮" click="button1_clickHandler(event)"/>
	
	<mx:ComboBox id="comboBox"
				 prompt="Please select a State..."
				 dataProvider="{statesXMLList}"
				 labelFunction="comboBox_labelFunc" />
	
	
	
</mx:Application>

  

posted @ 2011-08-15 17:17  庚武  Views(938)  Comments(0Edit  收藏  举报