我有一个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
。
如何处理?
答案 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;