`
niuyandong1988
  • 浏览: 648 次
最近访客 更多访客>>
社区版块
存档分类
最新评论
阅读更多
Flex自动过滤ComboBox,在网上找了几篇感觉BUG比较多,就自己写了一个。直接上代码,附件中是源码。
package com.ctsi.components
{
	import flash.events.Event;
	
	import mx.collections.ArrayCollection;
	import mx.controls.ComboBox;
	import mx.controls.TextInput;
	import mx.utils.StringUtil;

	public class FilterComboBox extends ComboBox
	{
		private var fullData:ArrayCollection;
		
		public function FilterComboBox() {
			addEventListener("creationComplete", init);
		}
		
		private function init(event:Event) : void {
			fullData = dataProvider as ArrayCollection;
		}
		 
        override protected function textInput_changeHandler(event:Event) : void {
			
			var data:ArrayCollection;
			var keyWord:String;
			
            super.textInput_changeHandler(event); 
			
			if (fullData){  
				
				keyWord = StringUtil.trim(textInput.text);
				
				if (keyWord == "" || keyWord == null)   
					data = fullData;
				else 
					data = filterData(keyWord);
				
				dataProvider = data;  
				dropdown.selectedIndex = -1;  
				dropdown.verticalScrollPosition = 0;  
				textInput.text = keyWord;
				TextInput(textInput).setSelection(keyWord.length, keyWord.length);
				
				open();  
			}  
	    } 
       
        private function filterData(keyWord:String) : ArrayCollection {
			
            var data:ArrayCollection; 
			var item:Object;
			var i:int;
			var value:String;
			
			data = new ArrayCollection(); 
			
            for (i = 0; i < fullData.length; i++) {  
                item = fullData.getItemAt(i);
				
                if (item.hasOwnProperty(labelField)) {  
                    value = item[labelField];  
                    if (value.indexOf(keyWord) != -1) {  
	                    data.addItem(item);  
	                }  
	            }  
	        }
			
            return data;  
	    } 
	}
}

分享到:
评论

相关推荐

    flex实现 ComboBox中下拉checkbox

    在Flex编程领域,ComboBox是一个常用的组件,它提供了一个下拉列表供用户选择,通常用于实现单选功能。然而,有时我们需要在ComboBox中嵌入多选功能,这时可以通过添加Checkbox来实现。本文将深入探讨如何在Flex中的...

    flex combobox 输入过滤实例

    在本实例中,我们将深入探讨如何利用Flex 4实现Combobox的输入过滤功能,这将帮助用户在大量数据中快速定位所需选项。 1. **Combobox基础** Flex中的Combobox由两部分组成:一个可编辑的文本输入字段和一个下拉...

    flex datagrid 中实现combobox联动

    总结,Flex中实现DataGrid内ComboBox的联动需要掌握事件监听、数据绑定、自定义组件等技术。通过以上步骤,我们可以创建出交互性强、用户体验良好的数据输入界面。在实际开发中,还需要考虑到性能优化,避免不必要的...

    C# ComboBox(winform) 显示多列 输入自动过滤

    2. **输入自动过滤**:实现输入自动过滤,我们可以订阅ComboBox的TextChanged事件。当用户在输入框中输入字符时,触发此事件。然后,遍历ComboBox的所有项,检查每一项的各个列是否以输入的字符开头。如果找到匹配的...

    flex ComboBox checkbox

    在Flex编程中,ComboBox是一个常用的组件,用于提供下拉列表让用户选择。这个“flex ComboBox checkbox”的主题涉及到在ComboBox中集成复选框(checkbox)的功能,这使得用户可以选择多个选项,而不仅仅是单选。下面...

    flex4代替ComboBox的类

    flex4中不能使用combobox,该类是用LIST 自写的一个代替类

    #ComboBox自动补全小技巧(模糊查找)

    在ComboBox中实现此功能,我们需要监听用户输入事件,然后根据当前输入的文本动态过滤列表项。 二、C#实现步骤 1. 首先,确保你的项目引用了System.Windows.Forms命名空间,这是包含ComboBox控件的基础库。 ```...

    Flex 下拉框为Tree的ComboBox

    在博客文章《Flex下拉框为Tree的ComboBox》中,作者cym_lmy提供了源码和截图,详细解释了实现过程。通过阅读源码,我们可以了解到如何设置Tree的dataProvider,如何处理选择事件,以及如何在ComboBox与Tree之间同步...

    flex combobox联动demo

    在“flex combobox联动demo”中,我们可以推测这个项目展示了如何通过ActionScript或MXML来实现Combobox之间的这种交互。下面将详细介绍可能涉及的技术点: 1. **Combobox组件**:Flex SDK提供了Combobox组件,它是...

    C#中实现combobox下拉组合框的自动完成功能

    C#中实现combobox的自动完成功能

    C#ComboBox自动补全小技巧

    总的来说,实现C# ComboBox的自动补全涉及到数据绑定、事件监听、数据过滤和优化,以及在ASP.NET环境下的Ajax处理。通过不断实践和积累,你可以创建出高效、灵活且用户体验良好的自动补全功能。这正是软件项目实施...

    Flex ComboBox 树形控件

    总结来说,Flex Tree形ComboBox组件是实现层级数据选择的强大工具,通过灵活的数据绑定、自定义渲染和事件处理,可以创建出高度定制化的交互式界面。在实际开发中,了解并掌握这些知识点将有助于构建更高效、更友好...

    C#WinForm的ComboBox控件自定义实现自动模糊匹配查找数据的方法

    C#WinForm的ComboBox控件自定义实现自动模糊匹配查找数据的方法 与控件自带的AutoCompleteMode类似,完美实现模糊匹配,解决AutoCompleteMode只能从左向右匹配的问题

    Flex4_ProgressBar_Combobox_NumericStepper

    在Flex4中,ComboBox组件提供了丰富的定制选项,如设置数据源、选择项模板、启用过滤等功能。数据源可以是数组、XML列表或其他数据结构,用户可以通过选择项模板自定义列表中每个项目的外观。此外,ComboBox还支持...

    flex DataGrid 嵌入Combobox列拖动下拉条数据混乱

    在Flex开发中,DataGrid是一种常用的组件,用于展示表格数据,而Combobox列则可以提供下拉选择功能,增强用户交互。然而,在实际应用中,我们可能会遇到一些问题,比如在DataGrid中嵌入Combobox列,并且允许用户拖动...

    Flex文本框数据过滤

    这就是“Flex文本框数据过滤”的基本实现。你可以根据实际需求调整过滤逻辑,例如添加缓存机制、优化性能,或者提供更复杂的过滤条件。此外,还可以通过样式表或CSS自定义组件的外观,使其更好地融入你的应用程序...

    能根据拼音首字母过滤的Combobox

    输入拼音首字母过滤选项的combobox,同时根据汉字生成拼音和拼音首字母,使用的是微软的Microsoft.International.Converters.PinYinConverter,对于有些多音字不正确的,可以在里面增加一个xml字典进行过滤

    extjs 自动补全 模拟combobox

    总之,EXTJS的Combobox组件结合适当的配置和事件监听,可以轻松实现自动补全功能,无论是本地数据还是远程数据源,都能提供高效且友好的用户体验。在实际开发中,你可以根据项目需求灵活运用这些特性,提高应用的...

Global site tag (gtag.js) - Google Analytics