How to show set default value for DataGridViewComb

2019-02-12 18:12发布

问题:

I have a DataGridView having one DataGridViewComboBoxColumn and I have populated that ComboBox but after clear that DataGridView I have to set one default value for that ComboBox So please help me out.

回答1:

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";
      }
}


回答2:

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.