如何在网格的templatefield中将实数0显示为0,而不显示为空?

时间:2019-05-21 16:58:43

标签: sql asp.net gridview

我总是绊倒一件事,最终以肮脏的解决方法辞职:

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

convert(Int, t)

这返回很好的百分比,但是有2个丑陋的副作用:

  • 即使百分比,也会始终显示百分比符号 是NULL
  • 完全不显示0。成为领导的空白 %

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

t = Second(5); t.value

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

2 个答案:

答案 0 :(得分:0)

您需要使用类似 COALESCE 的方法来避免使用null
例如。

SELECT COALESCE(null, 0)  

这将返回0。

答案 1 :(得分:0)

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

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