rue*_*edi 1 c# combobox datagridview autocomplete winforms
我有一个DGV,它连接到具有8列的连接到数据库的DataSet。这些列之一是具有以下设置的组合框
目前,自动完成功能(默认情况下)的工作方式如下:如果键入“ a”,我将获得所有以“ a”开头的条目。就是这样。如果我输入“ An”,则不会转到例如安达卢西亚。
我已经检查了组合框设置,可以在其中设置自动完成模式和来源,等等,但是随后我看到,在上面可以看到的属性中我没有这些设置。
有谁知道我如何获得想要完成的自动完成功能?
您可以处理EditingControlShowingevent 参数的事件DataGridView并使用Controlevent参数的属性,get 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;
}
}
Run Code Online (Sandbox Code Playgroud)