JasperReports: default value instead of 'null&

2019-01-26 05:47发布

Is there any way to set a default value to a field in a report? I have a lot of String fields in a report and would like them to display "0,00" when they're null.

5条回答
不美不萌又怎样
2楼-- · 2019-01-26 05:59

Did you try set a pattern in the text field?

If you are using iReport this can be found in the properties for the text field in the Text Field Properties section.

Try something along the lines of ###0.00 to represent 1234.56, which would always display 0.00 even if it is null.

查看更多
地球回转人心会变
3楼-- · 2019-01-26 06:01

This is the easiest way is to use Coalesce() or NVL() function of database in your data-source query to restrict null data on your report.

But it depends on if you are allowed to change the datasource query or not. If not then you can go for other solutions provided in previous answers.

查看更多
狗以群分
4楼-- · 2019-01-26 06:02

medopal's answer is good, but 2 additions:

1) You can make the syntax shorter:

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

2) Make sure your "else" data is of the same class as the field's value, otherwise you'll get errors when it tries to coerce numbers into string, etc. etc. This was something that, as I started out, I mixed up.

查看更多
狗以群分
5楼-- · 2019-01-26 06:03

Supposing the field name is "value", in the "Text Field Expression", write:

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

查看更多
Ridiculous、
6楼-- · 2019-01-26 06:06

You can also select "Blank when null" in the properties of the text field if you want that. Other options are more flexible but this does the trick very quick and easy.

查看更多
登录 后发表回答