2

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

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

像 NullDisplayText="0" 之类的东西?

谢谢

4

3 回答 3

2

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

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

模板字段

<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

于 2012-05-03T07:29:21.753 回答
2

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

从 abc 中选择 isnull(Price,0)

于 2012-05-03T07:34:03.923 回答
1

您可以使用 COALESCE 编辑 sql 以将 NULL 值转换为零

例如:

SELECT COALESCE(potentialNullColumn, 0) FROM table

希望这可以帮助!

于 2012-05-03T07:33:29.973 回答