C# 如何使数据表中的单元格为空而不是0?

C# 如何使数据表中的单元格为空而不是0?,c#,datatable,C#,Datatable,我创建了一个包含X行和Y列的数据表。然后我用1到10的整数填充某些单元格。当我将datatable设置为datagrid时,我注意到默认情况下,我未填充的单元格在datagrid中的值为“0”(零)。我希望它们是空白的,而不是“0” 是否有人知道是否有一个默认选项,我必须将其全部更改为空而不是零?或者,我必须手动用空格替换所有零吗?如果是,我该怎么做 if (datatable.Rows[x][y] == "0") { datadable.Rows[x][y] = null; } 对于

我创建了一个包含X行和Y列的数据表。然后我用1到10的整数填充某些单元格。当我将datatable设置为datagrid时,我注意到默认情况下,我未填充的单元格在datagrid中的值为“0”(零)。我希望它们是空白的,而不是“0”

是否有人知道是否有一个默认选项,我必须将其全部更改为空而不是零?或者,我必须手动用空格替换所有零吗?如果是,我该怎么做

if (datatable.Rows[x][y] == "0")
{
    datadable.Rows[x][y] = null;
}
对于这段代码,我得到了警告:“警告可能是意外的引用比较;要获得值比较,请将左侧强制转换为键入‘string’”,我不确定原因。我试着添加。ToString,但似乎不起作用。我正在使用C#,Visual Studio Express 2010。

使用DBNull.Value

datadable.Rows[x][y] = DBNull.Value;
使用DBNull.Value

datadable.Rows[x][y] = DBNull.Value;

该列的类型是什么,
String
?如果未指定其他类型,则默认情况下为string。然后您可以使用
字段
如果(datatable.Rows[x].Field(y)=“0”)可数据化。Rows[x].SetField(y)”
或首先将可空类型与
SetField(y,null)
一起使用。它是WinForms还是ASP.NET?如何填充数据表?看起来您正在尝试将单元格与字符串进行比较,而不是与整数进行比较该列的类型是什么,
string
?如果未指定其他类型,则默认情况下为string。然后您可以使用
字段
如果(datatable.Rows[x].Field(y)=“0”)可数据化。Rows[x].SetField(y)”
或首先将可空类型与
SetField(y,null)
一起使用。它是WinForms还是ASP.NET?如何填充数据表?看起来您正在尝试将单元格与字符串进行比较,而不是与整数进行比较