最初の列にaDataGridViewとaDataGridViewComboBoxColumnがバインドされています (値にアクセスするときに myclass を取得したいので、値メンバーを設定しません)。2列目もです。最初のselectedValueに基づいていくつかにバインドされます。List<MyClass>DisplayMember="name"DataGridViewComboBoxColumnList<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.