0

最近,当用户在输入控件中输入空值时,我得到了一些分组帮助(Jaspersoft iReport 中的“汇总”组)。我正在使用 iReport/JasperServer Professional 4.5.1。我的三个分组级别是药房、设施和包装类型。

将报告部署到 后JasperServer,我遇到了一些空值问题。我为我的输入控件取消选中“始终提示”,当报表第一次打开时,它的行为就好像它已经适当地接收到所有输入控件和组的空值(这是我想要的)。我的输入控件的显示模式是“in page”,因此它们显示在屏幕的左侧。然后,当我尝试选择一家药房并重新运行报告时(预计设施和包装类型的聚合值,因为我没有为这些控件选择任何内容),报告的执行就像聚合代码不存在一样,并列出所有设施和所有包装类型。

但是 - 如果我将一个选定的药房保存为保存的输入控件,然后返回存储库并使用保存的输入控件运行报告,它工作正常,并聚合所有设施和包装类型数据。

有什么想法吗?

谢谢,
丽莎

4

1 回答 1

0

我的输入控件是多选查询,我的参数是集合。我发现当我第一次通过单击存储库中的链接进入报告时,报告被发送空值。但是,当我在 JasperServer 中打开报告后尝试再次运行报告时,我正在生成空列表。

Matthew Dahlman 建议我在 iReport 中创建参数来处理空值并“汇总”我的分组。这些参数看起来像:

 $P{packtype}==null ? " 'All Package Types' " : " FAC.PACKTYPE_CODE " 

这在 iReport 和第一次在 JasperServer 中打开报表时效果很好。要处理空列表和空值,我必须将参数更改为:

 $P{packtype} == null ? " 'All Package Types' " :
 ($P{packtype}.isEmpty() ? " 'All Package Types' " :
 " FAC.PACKTYPE_CODE ")
于 2012-06-26T17:19:47.143 回答