处理数据网格中的空值

Posted

技术标签:

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

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

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

类似 NullDisplayText="0" ??

谢谢

【问题讨论】:

是datagrid还是.net GridView? 【参考方案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

希望这会有所帮助!

【讨论】:

以上是关于处理数据网格中的空值的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server的空值处理策略

数据清洗--DataFrame中的空值处理

MS SQL Server 2008 中的空值处理

数据库中的空值与NULL的区别以及python中的NaN和None

数据库中的空值与NULL的区别以及python中的NaN和None

从sql table处理PSCustomObject中的空值。无法转换对象