JasperReports: значение по умолчанию вместо 'null'

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

Ответ 1

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

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

Ответ 2

medopal ответ хороший, но 2 дополнения:

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

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

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

Ответ 3

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

Ответ 4

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

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

Попробуйте что-то в строках ###0.00 для представления 1234.56, которое всегда будет отображать 0.00, даже если оно равно null.

Ответ 5

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

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