如何为DataGridView组合框列设置自动完成

时间:2016-08-18 08:21:50

标签: c# winforms datagridview combobox autocomplete

我有一个DGV,连接到一个连接到数据库的DataSet,有8列。其中一列是具有以下设置的组合框

enter image description here

此时自动完成(默认情况下)的工作方式如下:如果我输入'a',我会收到以'a'开头的所有条目。但就是这样。如果我输入“An”,则不会输入安达卢西亚。

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

有谁知道如何获得我想要完成的自动完成功能?

1 个答案:

答案 0 :(得分:6)

您可以处理DataGridView事件Control并使用事件参数的ComboBox属性获取EditingControlShowing,该DataGridViewComboBoxEditingControl派生自ComboBoxStyle.DropDown

然后,您可以将其AutoCompleteMode设置为可用选项。您还应将其DropDownStyle属性设置为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}}