I have a DataGridView
having one DataGridViewComboBoxColumn
and I have populated that ComboBox but after clear that DataGridView
I hav
I know this is an ancient post, but hopefully, I can help some people avoid my confusion.
Using CellFormatting is a loser because it calls it every time anything touches the cell. The result is that the value gets set back to the default constantly.
What worked for me was handling the DefaultValuesNeeded event like so:
private void OnGridDefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
e.Row.Cells["Position"].Value = PositionEnum.Any;
}
This allowed me to set the default value, and lets the user change the value.
You can do this in CellFormatting
event
void dataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex == 0) //Index of your DataGridViewComboBoxColumn
{
e.Value = "Default Value";
}
}