有没有办法为报表中的字段设置默认值?我在报告中有很多字符串字段,希望它们在为空时显示“0,00”。
假设字段名称为“value”,则在“文本字段表达式”中写入:
($F{value} != null) ? $F{value} : "0.00"
如果需要,您还可以在文本字段的属性中选择“空时为空”。其他选项更灵活,但这非常快速且简单。
medopal的答案很好,但补充2点:
1)您可以使语法更短:
($F{field_name}) ? $F{field_name} : "0.00"
2)确保您的“其他”数据与字段值属于同一类,否则当它尝试将数字强制转换为字符串等时,您会收到错误。混淆了。
您是否尝试在文本字段中设置模式?
如果您使用 iReport,可以在
Text Field Properties
部分的文本字段属性中找到。
尝试按照
###0.00
的方式表示 1234.56,即使它为空,它也始终显示 0.00。
这是最简单的方法是在数据源查询中使用数据库的
Coalesce() or NVL()
功能来限制报告中的空数据。
但这取决于您是否允许更改数据源查询。如果没有,那么您可以寻求之前答案中提供的其他解决方案。
当值没有到来时($F{field_name})? $F{field_name} :“0.00”这是有效的,但输入值正在重复报告中的值。两倍的价值来了