Как отобразить реальный 0 как 0, а не как пустой в поле шаблона сетки? - PullRequest
0 голосов
/ 21 мая 2019

Одна вещь, которую я всегда спотыкаюсь и заканчиваю тем, что ухожу в отставку с грязным обходным путем:

Чтобы отобразить процент в метке TemplateField Gridview, я обычно хочу сделать это: (с источником данных, предоставляющим реальное число)

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

Возвращает хорошие проценты, но имеет 2 уродливых побочных эффекта:

  • символ persentage всегда отображается, даже если процент равен NULL
  • 0не отображается вообще.Это становится пустым местом с лидирующим%

Так что мой уродливый и сложный обходной путь - особенно если я хочу, чтобы столбец разрешил сортировку по процентам - выполняется на стороне источника данных: в sql я делаю:

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

должен быть более легкий путь !!!?

Ответы [ 2 ]

0 голосов
/ 21 мая 2019

Вы можете проверить наличие NULL в строке с помощью троичного оператора.

<%# Eval("Percentage") == null ? "yourValue" : Eval("Percentage","{0:#}&nbsp;%") %>
0 голосов
/ 21 мая 2019

Вам нужно использовать что-то вроде COALESCE , чтобы избежать null.
Например.

SELECT COALESCE(null, 0)  

Это вернет 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...