我有一个winform应用程序,它有一个带有组合框的datagridview。 Combobox是数据绑定,显示模型类型。如果我在gridview上加载以前保存的数据并尝试选择组合框第一个成员NullValue(--Select--)它会抛出异常无法将列'ModelTypeID'设置为null。请改用DBNull。。完整的异常消息如下所示。
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)
有人可以建议我解决这个问题吗?
感谢
答案 0 :(得分:2)
您可以查看提及here
的解决方法它涉及订阅DataTable绑定的列更改事件
void dt_ColumnChanging(object sender, DataColumnChangeEventArgs e)
{
if (e.Column == dt.Columns["myColumn"])
{
if (e.ProposedValue == null)
{
e.ProposedValue = DBNull.Value;
}
}
}