JasperReports: значение по умолчанию вместо 'null' - PullRequest
13 голосов
/ 08 марта 2010

Есть ли способ установить значение по умолчанию для поля в отчете? У меня есть много полей String в отчете, и я хочу, чтобы они отображали «0,00», когда они нулевые.

Ответы [ 5 ]

20 голосов
/ 10 марта 2010

Предполагая, что именем поля является «значение», в «Выражение текстового поля» напишите:

($F{value} != null) ? $F{value} : "0.00"

5 голосов
/ 14 декабря 2012

Вы также можете выбрать «Пустой, когда ноль» в свойствах текстового поля, если хотите. Другие варианты более гибкие, но это делает трюк очень быстрым и простым.

4 голосов
/ 27 июля 2010

Ответ медопала хорош, но 2 дополнения:

1) Вы можете сократить синтаксис:

($F{field_name}) ? $F{field_name} : "0.00"

2) Убедитесь, что ваши "else" данные имеют тот же класс, что и значение поля, иначе вы получите ошибки, когда оно попытается привести числа в строку и т. Д. И т. Д. Это было то, что, как я начал Я перепутал.

0 голосов
/ 16 октября 2014

Это самый простой способ - использовать функцию Coalesce() or NVL() базы данных в запросе источника данных, чтобы ограничить нулевые данные в вашем отчете.

Но это зависит от того, разрешено ли вам изменять запрос источника данных или нет. Если нет, то вы можете пойти на другие решения, представленные в предыдущих ответах.

0 голосов
/ 08 марта 2010

Вы пытались установить шаблон в текстовом поле?

Если вы используете iReport, его можно найти в свойствах текстового поля в разделе Text Field Properties.

Попробуйтечто-то вроде ###0.00 для представления 1234,56, которое всегда будет отображать 0,00, даже если оно равно нулю.

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