浏览 2745 次
锁定老帖子 主题:一个很简单的过滤下拉框
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-21
<?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> 第一次写,很简单的。过滤条件也很简单,没用到正则表达式。(懒的去查资料),item[_labelName]这个动态获取属性的方法很重要,多亏了网友的帮助。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |