tags:

views:

7

answers:

0

I'm trying to add a Combo column to a DataGridView - when I run the program and select a combo item and try to move off of the row it throws a DataError event exception. Here's the code maybe someone can figure out a solution:

public partial class Form1 : Form { public Form1() { InitializeComponent();

  var nameColumn = new DataGridViewComboBoxColumn();
  nameColumn.DataPropertyName = "Name";

  _dataGridView.Columns.AddRange(new DataGridViewColumn[] { nameColumn });

  _dataGridView.AutoGenerateColumns = false;
  _dataGridView.DataSource = _dimensions;
  _dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
  _dataGridView.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(_dataGridView_EditingControlShowing);
}

void _dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
  if (_dataGridView.CurrentCell.ColumnIndex == 0)
  {
    var ctl = (ComboBox)e.Control;
    ctl.Items.Add("one");
    ctl.Items.Add("two");
  }
}

private BindingList<Data> _dimensions = new BindingList<Data>();

}

public class Data { public string Name { get; set; } }