JasperReports:默认值而不是“null”

问题描述 投票:0回答:6

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

jasper-reports
6个回答
22
投票

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

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


5
投票

如果需要,您还可以在文本字段的属性中选择“空时为空”。其他选项更灵活,但这非常快速且简单。


4
投票

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

1)您可以使语法更短:


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

2)确保您的“其他”数据与字段值属于同一类,否则当它尝试将数字强制转换为字符串等时,您会收到错误。混淆了。


0
投票

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

如果您使用 iReport,可以在

Text Field Properties
部分的文本字段属性中找到。

尝试按照

###0.00
的方式表示 1234.56,即使它为空,它也始终显示 0.00。


0
投票

这是最简单的方法是在数据源查询中使用数据库的

Coalesce() or NVL()
功能来限制报告中的空数据。

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


0
投票

当值没有到来时($F{field_name})? $F{field_name} :“0.00”这是有效的,但输入值正在重复报告中的值。两倍的价值来了

© www.soinside.com 2019 - 2024. All rights reserved.