将字符串字段转换为集合以传递给子报表?

时间:2012-12-20 15:22:06

标签: java groovy jasper-reports ireport jasperserver

我有一些独立的报告,通常需要同时为同一个药房和设施生成。我想将这些报告统一在一个“外部包装”报告中作为详细频段的子报告。

独立报告期待收集参数(并且大量使用$X{并且需要能够独立运行),但我只有字符串来提供它们。在我的外包装器中,我确实试图创建$F{pharm_id}$F{fac_id}字段集合,但它们仍然恢复到java.util.String,当我手动将它们重置为集合并运行报告时,我得到一个错误,我无法将字符串(外包装)强制转换为类java.util.Collection(子报表输入参数)。

如何将$F{pharm_id}$F{fac_id}字符串值作为集合传递给子报表?

enter image description here

1 个答案:

答案 0 :(得分:2)

如果您有一个字符串,并且您需要创建Collection,并且可以执行以下操作:

java.util.Arrays.asList(new String[] {$F{pham_id}})

java.util.Arrays.asList(new String[] {$F{fac_id}})

您应该可以在参数映射中执行此操作而不会出现问题。