处理datagrid中的空值

时间:2012-05-03 07:23:06

标签: c# asp.net datagrid

net(c#)当我尝试将数据绑定到datagrid时,它会在列中显示一些空值(因为某些列中没有数据)。但我想在同一列中显示0而不是null。

怎么可能?有什么表情吗?

类似于NullDisplayText =“0”??

由于

3 个答案:

答案 0 :(得分:2)

DataGrid中没有这样的表达式,您可以在ItemDataBound事件中编写代码,并在将数据绑定到单元格之前将null替换为自定义文本。

如果您正在使用TemplateColumn并将数据绑定到aspx Web控件,则可以编写服务器端绑定以使用默认值替换空值或空值

模板字段

<asp:TextBox runat="server" Text='<%#DefaultVal(Eval("FieldName").ToString())% >' ID="txtBox1" ></asp:TextBox>

服务器端属性

protected string DefaultVal(string val)
{
    return (val == null)?"0":val;
}

对于GridView,有一个名为NullDisplayText的属性,请参阅以下链接了解详细信息http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.boundfield.nulldisplaytext.aspx

答案 1 :(得分:2)

最好在Sql查询中处理空值,以便结果返回不包含任何空值。您可以用这种方式编写Sql查询来处理Null

从abc

中选择isnull(Price,0)

答案 2 :(得分:1)

您可以编辑sql以使用COALESCE

将NULL值转换为零

例如:

SELECT COALESCE(potentialNullColumn, 0) FROM table

希望这有帮助!