我有一个自动完成组合框柱绑定的dataGridView,并自动完成工作,只是我观察一个行为这就是升技刺激性。
当我第一次键入自动完成单元格文本,并移动到与tabKey下一个单元格,我的选择是不保留,永远我选择了什么被清除,自动完成单元格为空。 如果是Ⅱ立即使用左箭头键返回到自动完成单元格并键入文字,我选择保留有任何问题,什么都。
所以,这个问题我有越来越细胞保留我的第一个初始选择,唯一的工作,现在各地是按Tab键到下一个单元格,然后返回到这个问题的自动完成组合框细胞和所有做打字全部结束。 在这一点上,它的工作原理。
难道还有一些事件中,我应该处理提交对细胞离开我选定的文本?
码:
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is ComboBox)
{
((ComboBox)e.Control).DropDownStyle = ComboBoxStyle.DropDown;
((ComboBox)e.Control).AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
((ComboBox)e.Control).AutoCompleteSource = AutoCompleteSource.ListItems;
}
}
编辑:在下面CellLeave,值也返回空,即使我已经做出了选择。
private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
{
var Row = this.dataGridView1.CurrentRow.Index;
string value = this.dataGridView1["itemID", Row].Value.ToString();
}