Как показать значение по умолчанию для DataGridViewComboBoxCell Value в winform? - PullRequest
9 голосов
/ 04 декабря 2011

У меня есть DataGridView с одним DataGridViewComboBoxColumn, и я заполнил этот ComboBox, но после очистки этого значения DataGridView Я должен установить одно значение по умолчанию для этого ComboBox. Так что, пожалуйста, помогите мне.

Ответы [ 2 ]

14 голосов
/ 30 июля 2013

Я знаю, что это древний пост, но, надеюсь, я смогу помочь некоторым людям избежать моей путаницы.

Использование CellFormatting - это проигрыш, потому что он вызывает его каждый раз, когда что-либо касается клетки.В результате значение постоянно возвращается к значению по умолчанию.

Для меня работало то, что я обработал событие DefaultValuesNeeded так:

private void OnGridDefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
    e.Row.Cells["Position"].Value = PositionEnum.Any;
}

Это позволило мне установить значение по умолчанию,и позволяет пользователю изменять значение.

7 голосов
/ 04 декабря 2011

Вы можете сделать это в CellFormatting событие

void dataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
      if (e.ColumnIndex == 0) //Index of your DataGridViewComboBoxColumn 
      {
          e.Value = "Default Value";
      }
}
...