`
lujiawu12
  • 浏览: 124639 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

flex的过滤combox控件

阅读更多
没事自己写的第一个自定义过滤 combox控件
<?xml version="1.0" encoding="utf-8"?>
<mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml" enter="toggleFilter(event)" editable="true">
<mx:Script>
	<![CDATA[
		import com.eshangrao.util.ObjectKeyMap;	
		import mx.events.FlexEvent;
		import mx.collections.ArrayCollection;
		
		//需要2个重要参数1.dataprovider:arrcoll 2.item.name的这个过滤属性	
		private var _labelName:String = "labelName"; 
		public function set labelName( value:String ) : void 
		{ 
   				 _labelName = value; 
   				 invalidateProperties(); 
		} 
		public function get labelName() : String
		{ 
   				 return _labelName; 
		}
	
		private function toggleFilter(event:FlexEvent):void{
			//trace(this.text);
			//trace(event.currentTarget.text);
			if (event.currentTarget.text!="") {
 				//var filtStr:String=event.currentTarget.text;
 				this.dataProvider.filterFunction = processFilter;
 			} else {
 				this.dataProvider.filterFunction = null;
 			}
 				this.dataProvider.refresh();
 			}
 		private function processFilter(item:Object):Boolean {
 			//trace((String)(item.name));
 			//trace((String)(item["name"]));
 			return ((String)(item[_labelName])).indexOf(this.text)==0;
 			}
	
	]]>
</mx:Script>
</mx:ComboBox>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics