日期:2014-05-18  浏览次数:21067 次

问高手一个问题,关于combobox
目前我要实现一个功能,类似于google搜索的查询功能。在combobox里输入的时候,下拉框拉下,并且被选中的项目是与输入的字符前端匹配的index最小的一个项目,但是不可以改变combobox的输入框中的内容,也就是允许用户连续输入多个字符,每输入一个字符的时候匹配一次。如果没有匹配成功的则下拉框不拉下。

谢谢!

------解决方案--------------------
combobox 自己好像有一个autocompulate功能吧。。。
------解决方案--------------------
combobox是dropdown样式 

this.comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
this.comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;
------解决方案--------------------
可以设置combobox的AutoCompleteMode属性和AutoCompleteSource属性来实现。
C# code
this.comboBox1.Items.Clear();
            this.comboBox1.Items.Add("哈尔滨");
            this.comboBox1.Items.Add("大庆");
            this.comboBox1.Items.Add("大小");
            this.comboBox1.Items.Add("长沙");
            this.comboBox1.Items.Add("武汉");
            this.comboBox1.Items.Add("上海");
            this.comboBox1.Items.Add("北京");
            this.comboBox1.Items.Add("大连");
            this.comboBox1.Items.Add("汉口");
            this.comboBox1.Items.Add("成都");
            this.comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            this.comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;

------解决方案--------------------
简单的ajax应用
------解决方案--------------------
探讨
combobox是dropdown样式

this.comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
this.comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;

------解决方案--------------------
这个是窗体程序还是WEB程序
------解决方案--------------------
需要重新包装comboBox了。
------解决方案--------------------
winForm还是webForm?

winForm有个AutoCompleteMode 属性

webform就要自己搞了(自动完成功能),或是用asp.net ajax里边有个现成的控件
------解决方案--------------------
http://www.cnblogs.com/JeffreyZhao/archive/2007/06/12/StyleAutoComplete.html
------解决方案--------------------
恩,就自带的combox控件只能支持到下拉功能,如果还需要排序的话,就需要自己进行开发新的控件了·
------解决方案--------------------
http://www.cnblogs.com/JeffreyZhao/archive/2007/06/12/StyleAutoComplete.html
------解决方案--------------------
不知道怎么做,只有顶一下。
------解决方案--------------------
ComBox不支持只支持输自己Items里面有的,如果你输英文出来中文的话不行的

在ComBoBox的TextChange事件里面写,根据输入的拼音或者汉字来找匹配对应内容,然后重新设置ComBoBox的数据源
最好自己定义一个ComBoBox控件,把这些都封装起来
我只是用TextBox+ListView做过类似的效果
------解决方案--------------------
探讨
引用:
combobox是dropdown样式

this.comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
this.comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;


引用:
这个功能我看到了,不过需要配合下拉框的内容也就是下拉框要把匹配的第一个选项高亮显示或者放在可以见到的部分的第一项。不知道该怎么做。


这个可能需要自定义控件了吧?

------解决方案--------------------
C# code

        /// <summary>
        /// 数据表
        /// 
        /// </summary>

        /// <summary>
        /// 可编辑选单列
        /// 功能:可以手动输入选项
        /// </summary>
        public class DataGridViewComboEditBoxColumn : DataGridViewComboBoxColumn
        {
            public DataGridViewComboEditBoxColumn()
            {
                DataGridViewComboEditBoxCell obj = new DataGridViewComboEditBoxCell();
                this.CellTemplate = obj;
            }
        }
        public cla