允许为datagridview设置NULL?

时间:2017-07-14 22:07:00

标签: c# winforms datagridview

我有以下代码:

DataTable dt = new DataTable();

SQLiteDataReader reader = mycommand.ExecuteReader();
dt.Load(reader);

它称为例外:

  

System.Exception:'无法启用约束。一行或多行   包含违反非null,唯一或外键的值   约束'

因为在reader中我得到了具有NULL元素的对象。如何允许DataGridView接受NULL单元格值?

1 个答案:

答案 0 :(得分:2)

老实说,需要有关您的特定问题的更多信息才能彻底回答您的问题,但以下代码段将处理空值。请务必检查this MSDN postthis StackOverflow post,以了解它们是否是更相关的问题,并this MSDN reference根据您的问题的一般范围,也可以提供帮助。它声明:

  

当具有此单元格样式的DataGridView单元格的值为DBNull.Value或null或用户编辑单元格并按下CTRL + 0时,DataGridView控件将显示NullValue属性值。当用户使用此单元格样式编辑单元格并输入此属性的值或按CTRL + 0时,控件将单元格值设置为DataSourceNullValue属性的值,如果DataSourceNullValue为DBNull.Value且单元格ValueType为null,则为null参考类型。以编程方式设置DataGridViewCell.Value属性时不会发生此转换。

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) {
     String value = e.Value as string;
     if ((value != null) && value.Equals(e.CellStyle.DataSourceNullValue)) {
         e.Value = e.CellStyle.NullValue;
         e.FormattingApplied = true;
     }
}

请务必进行一些繁重的研究,并在发布时彻底解决您的问题,以便人们可以提供更多帮助。

例如,人们可以通过查看您的代码和例外情况来假设您将查询不允许空值的表。