Jasper reports JasperReports:默认值而不是“null”

Jasper reports JasperReports:默认值而不是“null”,jasper-reports,Jasper Reports,有没有办法为报表中的字段设置默认值?我在报告中有很多字符串字段,希望它们在为空时显示0,00 您是否尝试在文本字段中设置模式 如果您使用的是iReport,可以在文本字段属性部分的文本字段属性中找到 请尝试沿0.00的线条表示1234.56,即使为空,也始终显示0.00。假设字段名为value,在文本字段表达式中,写下: $F{value}!=空的$F{value}:0.00medopal的答案是好的,但有两个补充: 1您可以缩短语法: $F{field_name}$F{field_name}

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

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

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


请尝试沿0.00的线条表示1234.56,即使为空,也始终显示0.00。

假设字段名为value,在文本字段表达式中,写下:


$F{value}!=空的$F{value}:0.00

medopal的答案是好的,但有两个补充:

1您可以缩短语法:

$F{field_name}$F{field_name}:0.00


2确保您的else数据与字段的值属于同一类,否则,当它试图将数字强制转换为字符串等时,会出现错误。这是我开始时弄混的。如果需要,您还可以在文本字段的属性中选择空时为空。其他选项更为灵活,但这非常快速和简单。

最简单的方法是在数据源查询中使用数据库的Coalesce或NVL函数来限制报表中的空数据


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

如果您对答案不满意,请在问题中添加更多细节。我认为您还应该将文本值更改为数值并设置模式,然后最终将0设置为0,而不是0,00,因为这不是数字的全局格式。请确保检查对于我来说,在iReport Designer 4.0.2中,报告的脚本语言设置在Java中有效,但在Groovy中无效。与以前的解决方案相比,该解决方案更优雅、更简单。是的,但只有在文本框中只有一个字段时才有效。当我删除`!=null`我得到类型不匹配:无法从字符串转换为布尔值。这很可能是因为在我提供这个答案后的7年里,当我在发布之前测试它是否工作时,技术发生了变化。我不再是JasperReports的活跃用户,@JamieKitson我希望你能找到一个最新的资源来帮助我。