Jasper reports JasperReports:是否可以使用多个数据源,或者如果不可以,是否可以在参数中使用集合?

Jasper reports JasperReports:是否可以使用多个数据源,或者如果不可以,是否可以在参数中使用集合?,jasper-reports,Jasper Reports,报告习惯用法似乎是,报告由单个项目列表和一些附加数据(参数)组成。有没有办法在一份报告中包含几个不相关的列表,或者这会与习惯用法背道而驰,以至于应该使用不同的工具来生成输出 例如,假设您有一个居住在一栋大楼中的人员列表,其中包括姓名、电话号码等。此列表将是主要数据源。此外,在同一报告中,您希望显示有关该建筑的各种其他信息,例如地址、楼层数等。此信息中的项目数量可能因建筑而异,因此您不能简单地将其放入静态参数中,而是需要一个地图或列表。这当然是一个有预谋的例子,但应该有助于说明问题 简而言之:你能

报告习惯用法似乎是,报告由单个项目列表和一些附加数据(参数)组成。有没有办法在一份报告中包含几个不相关的列表,或者这会与习惯用法背道而驰,以至于应该使用不同的工具来生成输出

例如,假设您有一个居住在一栋大楼中的人员列表,其中包括姓名、电话号码等。此列表将是主要数据源。此外,在同一报告中,您希望显示有关该建筑的各种其他信息,例如地址、楼层数等。此信息中的项目数量可能因建筑而异,因此您不能简单地将其放入静态参数中,而是需要一个地图或列表。这当然是一个有预谋的例子,但应该有助于说明问题


简而言之:你能在一个报告中使用几个不相关的列表吗?

我想你想要的是在你的报告中有一个子报告

子报表可以具有与主报表不同的数据源

下面是一个关于如何创建的示例。

  • 要对单个数据库连接执行多个查询,请参见

  • 为子报表或组件生成新的 使用
    列表中的
    子数据集
    参数字段 语法类似于:

    <parameter name="param1" class="java.util.List"/>
    
    <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{param1})]]></dataSourceExpression>
    
    
    
    例如见

  • 可以使用xmljson数据源
    子数据源

    json:

    xml:


回答得很好。又短又甜。这与
pieDataSet
配合得很好&我很高兴它起作用。谢谢分享。