首页 > 解决方案 > 如何在网格的模板字段中将真正的 0 显示为 0 而不是空的?

问题描述

一件事我总是偶然发现并最终以肮脏的解决方法辞职:

为了在 Gridview 的 TemplateField 的标签中显示百分比,我通常想要这样做:(数据源提供实数)

<asp:Label ID="LabelPercentage" runat="server" Text = '<%# Bind("Percentage","{0:#}&nbsp;%") %>'>

这会返回不错的百分比,但有两个丑陋的副作用:

所以我丑陋而复杂的解决方法 - 特别是如果我希望列允许按百分比排序 - 是在数据源端完成的:在 sql 中我这样做:

CAST(CAST(ROUND(100.0*score/cases,0) as int) as nvarchar) + ' %'

一定有更简单的方法!!!?

标签: sqlasp.netgridview

解决方案


您可以使用三元运算符检查 NULL 内联。

<%# Eval("Percentage") == null ? "yourValue" : Eval("Percentage","{0:#}&nbsp;%") %>

推荐阅读