2012-06-18 34 views
0

最近我在用户输入空值到输入控件("Rolling up" groups in Jaspersoft iReport)时得到了一些帮助。我正在使用iReport/JasperServer Professional 4.5.1。我的三个分组级别是药房,设施和包装类型。JasperServer - 输入控件的空值

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

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

有什么想法?

感谢,
丽莎

回答

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 ")