当将DataGridView组合框更改为默认值时,它会抛出异常

问题描述:

我有一个winform应用程序,它具有一个带combobox的datagridview。 Combobox是显示模型类型的数据绑定。如果我加载gridview以前保存的数据,并尝试选择组合框第一个成员是NullValue( - 选择 - )它会抛出异常无法将列'ModelTypeID'设置为null。请改用DBNull。。完整的异常消息如下。当将DataGridView组合框更改为默认值时,它会抛出异常

at System.Data.DataRow.set_Item(DataColumn column, Object value) 
    at System.Data.DataRowView.SetColumnValue(DataColumn column, Object value) 
    at System.Data.DataColumnPropertyDescriptor.SetValue(Object component, 
    Object value) 
    at System.Windows.Forms.DataGridView.DataGridViewDataConnection.PushValue 
    (Int32 boundColumnIndex, Int32 columnIndex, Int32 rowIndex, Object value) 

任何人都可以为我提出任何解决方法吗?

感谢

你可以看看这个解决方法中提到here

指订阅列的数据表改变事件势必

void dt_ColumnChanging(object sender, DataColumnChangeEventArgs e) 
{ 
    if (e.Column == dt.Columns["myColumn"]) 
    { 
     if (e.ProposedValue == null) 
     { 
       e.ProposedValue = DBNull.Value; 
     } 
    } 
} 
+0

感谢朋友,你救了MT的生活,我过去两天一直在奋斗。 –