当将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;
}
}
}
感谢朋友,你救了MT的生活,我过去两天一直在奋斗。 –