sql - 如何在网格的模板字段中将真正的 0 显示为 0 而不是空的?
问题描述
一件事我总是偶然发现并最终以肮脏的解决方法辞职:
为了在 Gridview 的 TemplateField 的标签中显示百分比,我通常想要这样做:(数据源提供实数)
<asp:Label ID="LabelPercentage" runat="server" Text = '<%# Bind("Percentage","{0:#} %") %>'>
这会返回不错的百分比,但有两个丑陋的副作用:
- 即使百分比为 NULL,也始终显示百分比符号
- 0 根本不显示。它变成了一个领先的 % 的空白点
所以我丑陋而复杂的解决方法 - 特别是如果我希望列允许按百分比排序 - 是在数据源端完成的:在 sql 中我这样做:
CAST(CAST(ROUND(100.0*score/cases,0) as int) as nvarchar) + ' %'
一定有更简单的方法!!!?
解决方案
您可以使用三元运算符检查 NULL 内联。
<%# Eval("Percentage") == null ? "yourValue" : Eval("Percentage","{0:#} %") %>
推荐阅读
- html - 由于 html 错误,NSJSONserialisation 给出 nil
- python - 使用 Kivy 读取条码扫描器
- python - cntk 导入错误 /usr/local/lib/python2.7/dist-packages/cntk/libs/libCntk.Math-2.5.1.so:未定义符号:LAPACKE_dgesvd
- php - 以 PHP 中的折扣计算最终价格的销售价格
- google-apps-script - 谷歌应用程序脚本仅隐藏特定范围的行
- heroku - CI/CD Gitlab 部署失败 - 找不到 dbl 命令
- python - 如何使用 AWS Lambda 部署大型 python 包?
- python - Python3.6版本不打印正确数据
- asp.net - asp:Button 事件在点击'shift'时触发
- javascript - 如何选择标签内的文本?