最初の列にaDataGridView
とaDataGridViewComboBoxColumn
がバインドされています (値にアクセスするときに myclass を取得したいので、値メンバーを設定しません)。2列目もです。最初のselectedValueに基づいていくつかにバインドされます。List<MyClass>
DisplayMember="name"
DataGridViewComboBoxColumn
List<String>
DataGridViewComboBoxColumn
これはすべて正常に機能します。最初の を変更すると問題が発生しますDataGridViewComboBoxColumn.DataSource
。新しい Myclass をデータソースに追加すると機能しますが、クラスを選択するとエラーが発生します。
System.ArgumentException: DataGridViewComboBoxCell 値が無効です
コード:
//Set columns to Datagridview
DataGridViewImageColumn btnEdit = new DataGridViewImageColumn();
Image gear = (System.Drawing.Image)Properties.Resources.gear;
btnEdit.Image = gear;
datagridview.Columns.Add(btnEdit);
//Table
DataGridViewComboBoxColumn cbTable = new DataGridViewComboBoxColumn();
cbTable.HeaderText = "Table";
cbTable.Name = "Table";
cbTable.DisplayMember = "NameToShow";
//tableDataSource = cbTable.DataSource;
//cbTable.DataSource = moduleClone.SqlQuery.Tables;
datagridview.Columns.Add(cbTable);
//...
//...
//...
//Load data
((DataGridViewComboBoxColumn)datagridview.Columns[1]).DataSource = (List<Table>)moduleClone.SqlQuery.Tables;
//Work just fine
//...
//...
//...
//Now if i reload de data
datagridview.Rows.Clear();
((DataGridViewComboBoxColumn)datagridview.Columns[1]).DataSource = (List<Table>)moduleClone.SqlQuery.Tables;
//This give me one message box with the exception several times when drawing the gridview.