0
private void dataGridViewSales_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
  if (this.dataGridViewSales.CurrentCell.ColumnIndex == 1)
  {
    ComboBox c = e.Control as ComboBox;
    ((ComboBox)c).AutoCompleteSource = AutoCompleteSource.ListItems;
    ((ComboBox)c).AutoCompleteMode = AutoCompleteMode.SuggestAppend;
    ((ComboBox)c).DropDownStyle = ComboBoxStyle.DropDown;
  }
}

上記のコードでは、オートコンプリート コンボボックスから選択した後、Tab キーを押してコンボボックスのセルを終了すると選択が失われるという問題があります。選択が保持される場合もあれば、選択がクリアされる場合もあり、ランダムに発生します。

4

1 に答える 1

0

CurrentCellDirtyStateChanged イベントを処理することで問題は解決しましたが、他の問題が発生しないことを願っています!

private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
        {
            if (dataGridView1.IsCurrentCellDirty)
            {
                dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
            }
        }
于 2012-07-18T06:04:58.407 に答える