JasperReports:默认值而不是'null'

时间:2010-03-08 15:08:52

标签: jasper-reports

有没有办法为报表中的字段设置默认值?我在报告中有很多字符串字段,并希望它们在为空时显示“0,00”。

5 个答案:

答案 0 :(得分:20)

假设字段名称为“value”,请在“文本字段表达式”中写入:

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

答案 1 :(得分:5)

您也可以选择"空白时为空白"如果你想要的话,在文本字段的属性中。其他选项更灵活,但这样做非常快捷方便。

答案 2 :(得分:4)

medopal的答案很好,但有2个补充:

1)您可以缩短语法:

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

2)确保你的“else”数据与字段的值属于同一类,否则当它试图将数字强制转换为字符串等时你会遇到错误。这就像我开始时那样,我搞砸了。

答案 3 :(得分:0)

您是否尝试在文本字段中设置模式?

如果您使用的是iReport,可以在Text Field Properties部分的文本字段属性中找到。

尝试###0.00行以表示1234.56的内容,即使它为空,也始终显示0.00。

答案 4 :(得分:0)

这是最简单的方法是在数据源查询中使用数据库的Coalesce() or NVL()函数来限制报表上的空数据。

但这取决于您是否被允许更改数据源查询。如果没有,那么您可以选择之前答案中提供的其他解决方案。