2016-08-18 125 views
1

我有一个DGV,连接到一个DataSet,它连接到一个数据库,有8列。其中一个列的是具有以下设置如何为DataGridView Combobox列设置自动完成

enter image description here

目前的自动完成(默认)是这样的一个组合框:如果我输入“A”,我得到的所有条目以“A”。但就是这样。如果我输入“An”,则不会转到例如安达卢西亚。

我已经检查了组合框的设置,在这里可以设置自动完成模式和源等的,但后来我看到,我没有,你可以在上面看到的属性中的这些设置。

有谁知道我怎样才能得到我想已经完成自动完成?

+2

的可能的复制[如何推荐追加的ComboBox中的DataGridView?](http://stackoverflow.com/questions/30075724/how-to-suggest-append-combobox-in-datagridview) –

回答

2

您可以处理EditingControlShowing事件的DataGridView并使用事件参数的Control财产,得到DataGridViewComboBoxEditingControl这是从ComboBox的。

然后你就可以设置它的AutoCompleteMode可用选项。你也应该其DropDownStyle属性设置为ComboBoxStyle.DropDown,让控制用户类型。

void grid_EditingControlShowing(object s, DataGridViewEditingControlShowingEventArgs e) 
{ 
    var comboBox = e.Control as DataGridViewComboBoxEditingControl; 
    if(comboBox!=null) 
    { 
     comboBox.DropDownStyle = ComboBoxStyle.DropDown; 
     comboBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
    } 
} 
+1

因为我张贴答案C#,我会添加C#标签的问题。 –