【问题标题】:Handle null values in datagrid处理数据网格中的空值
【发布时间】:2012-05-12 16:51:46
【问题描述】:

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

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

类似 NullDisplayText="0" ??

谢谢

【问题讨论】:

  • 是datagrid还是.net GridView?

标签: c# asp.net datagrid


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    从 abc 中选择 isnull(Price,0)

    【讨论】:

      【解决方案3】:

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

      例如:

      SELECT COALESCE(potentialNullColumn, 0) FROM table
      

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-02-13
        • 1970-01-01
        • 1970-01-01
        • 2015-08-08
        • 2011-05-31
        • 2018-11-16
        • 2015-07-04
        相关资源
        最近更新 更多