我有一个具有多列的datagridview,在两列上我想实现自动完成。这些列是 datagridviewtextboxcolumn 和 datagridviewcomboboxcolumns。我在想自动完成可以在 datagridview 的 editcontrolshowing 事件中完成(我的代码中有),但我似乎无法弄清楚它是如何工作的。
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == 0 && e.Control is ComboBox)
{
ComboBox comboBox = e.Control as ComboBox;
comboBox.AutoCompleteMode = AutoCompleteMode.Suggest;
comboBox.AutoCompleteSource = AutoCompleteSource.ListItems;
comboBox.TextChanged += LastColumnComboSelectionChanged;
}
if (dataGridView1.CurrentCell.ColumnIndex == 2 && e.Control is TextBox)
{
if (e.Control.Enabled)
{
TextBox POCText = e.Control as TextBox;
POCText.MouseDoubleClick += new MouseEventHandler(POCText_MouseDoubleClick);
}
}
}