Datagridview无法将Column <columnname>设置为null

时间:2017-07-11 12:19:18

标签: c# .net winforms datagridview

我有一个DataGridView来限制来自DataTable的数据,并且它有一个名为 BOMOperationID 的列。正在根据Combobox选定值填充此字段。除非我选择组合框中的第一个项目,否则一切正常。

这是我的代码:

if (Convert.ToInt32(cbOutwork.SelectedValue) != 0)
{
    BOMOutwork.Rows[rowIndex].Cells["BOMOperationID"].Value = cbOutwork.SelectedValue;
}
else
{
    BOMOutwork.Rows[rowIndex].Cells["BOMOperationID"].Value = DBNull.Value;
}

错误:无法将列BOMOperationID设置为空。请改用DBNull

enter image description here

如何处理?

2 个答案:

答案 0 :(得分:1)

我已经解决了。我在查询中添加了CAST(BOMOperationID As varchar(50))来填充DataGridView。然后使用dgv_DataError处理e.ThrowException = false;事件。我不知道这是否有效,但它已经有效了。谢谢大家。

答案 1 :(得分:0)

我认为你应该这样做

BOMOutwork.Rows[rowIndex].Cells["BOMOperationID"].Value = cbOutwork.SelectedValue ?? DBNull.Value;