如何解决使用从iReport子数据集中的主要数据集中返回的值
我用Jaspersoft Studio 6.4.3.final
创建了一个包含List Element
的报告。我需要在子数据集(列表元素)查询中使用从主数据集返回的值。
主数据集返回类似下面的内容。 (总是只有一条记录返回)
CustomerName JobID
John 123,146
我需要在子数据集(列表元素)查询中使用JobID
,如下所示。
Select * from JOB where jobId in (123,146)
我需要使用从主数据集返回的123,146
表单值。
我该如何实现?
我尝试过的事情
将子数据集查询更新为
Select * from JOB where $X{IN,jobId,p_jobId}
有了这些更改,我得到了例外。
IN中使用的参数p_jobId的无效类型java.lang.String 条款;该值必须是数组或集合。
解决方法
您可以将主数据集返回的值作为参数传递给List元素,并在子数据集中使用它。
如果它是一个多值参数,则可以在子数据集查询中使用$ X表示法。
因此您的查询可能如下所示:
Select * from JOB where $X{IN,jobId,MyParam}
其中MyParam是子数据集参数名称。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。