读书人

winform中combobox下拉框的模糊匹配解

发布时间: 2012-03-18 13:55:38 作者: rapoo

winform中combobox下拉框的模糊匹配

RT,我只知道combobox中这样写可以根据第一个字符匹配,我现在想根据输入的字符自动模糊匹配含有这个字母的项
例如:combobox中有项:
NO.1
NO.2
NO.3
4
5
如果是根据将属性AutoCompleteMode改为SuggestAppend,AutoCompleteSource改为ListItems,DropDownStyle改为Simple,只能实现输入第一个字符匹配的显示。比如我输入4,可以显示4;我输入1,就没找到1
我想实现的是:我输入1,可以找到NO.1
求教~~ 谢谢

[解决办法]
我感觉如果需要经常进行模糊比对,是不是开辟一块内存,然后将出现的字符的ASCLL值与存在该字符的数据连接起来,然后进行模糊比对时,可以根据用户输入的字符轻松找到所有包含该字符的数据
[解决办法]
对于在大量数据中查找,我感觉,在录入数据时就得将数据有规则的存放,这样查找起来会很方便
[解决办法]
界面一个TextBox1一个ComBoBox,根据TextBox的值匹配

C# code
            //先绑定数据到ComBoBox            DataTable data = new DataTable();//定义成全局            data.Columns.Add("column1", typeof(int));            data.Columns.Add("column2", typeof(string));            DataRow dr1 = data.NewRow();            dr1["column1"] = 1;            dr1["column2"] = "NO.1";            DataRow dr2 = data.NewRow();            dr2["column1"] = 2;            dr2["column2"] = "NO.2";            DataRow dr3 = data.NewRow();            dr3["column1"] = 3;            dr3["column2"] = "NO.3";            data.Rows.Add(dr1);            data.Rows.Add(dr2);            data.Rows.Add(dr3);            this.comboBox1.DataSource = data;            this.comboBox1.DisplayMember = "column2";
[解决办法]
combobox总是左匹配的,没法设置,你必须自己从listbox去扩展
[解决办法]
不能靠autocompelete来做
自己写吧
textchanged事件 重新加载 数据源 然后选中

读书人网 >C#

热点推荐