Java 带有jasper报告的多个图表
我希望能够创建以下jasper报告 载有一般资料的主要报告 然后是多个图表(动态图表数量) 目前,我在这个报告中只有一个图表,我向它提供了一个对象列表(来自java),其中每个对象都有一个“键”(即日期)和一个值(即数字) 对于这张图表,一切正常, 现在,当我想要绘制多个图表时,我不知道如何进行 从其他帖子中,我看到一些人使用“子报表”,并将图表放在子报表上 我试过了,图表确实出现过多次,但都是空的 这或多或少是我的数据集Java 带有jasper报告的多个图表,java,charts,jasper-reports,subreport,Java,Charts,Jasper Reports,Subreport,我希望能够创建以下jasper报告 载有一般资料的主要报告 然后是多个图表(动态图表数量) 目前,我在这个报告中只有一个图表,我向它提供了一个对象列表(来自java),其中每个对象都有一个“键”(即日期)和一个值(即数字) 对于这张图表,一切正常, 现在,当我想要绘制多个图表时,我不知道如何进行 从其他帖子中,我看到一些人使用“子报表”,并将图表放在子报表上 我试过了,图表确实出现过多次,但都是空的 这或多或少是我的数据集 class ChartData{ String name;
class ChartData{
String name;
List<ChartItem> items;
}
class ChartItem{
Date key;
Integer value;
}
类图表数据{
字符串名;
清单项目;
}
类图表项{
日期键;
整数值;
}
如何将数据从主报表传递到子报表?
如何在子报告中使用它?
我将使用“名称”成员作为图表上方的标题
在子报告中,必须使用名为“\u THIS”的保留字段
你必须加上这一行
<field name="_THIS" class="some.class.type"/>
例如:
<field name="_THIS" class="com.company.ChartData"/>
or
<field name="_THIS" class="java.lang.Integer"/>
或
此字段将在运行时用数据集中的当前项填充
这是主报告中的子报告部分
<subreport>
<reportElement x="0" y="23" width="572" height="118" uuid="27e38f7e-9329-4c77-a590-fe1b7eabef85"/>
<dataSourceExpression><![CDATA[$P{GAPS}]]></dataSourceExpression>
<subreportExpression><![CDATA["sub_gaps.jasper"]]></subreportExpression>
</subreport>
其中“GAPS”是用于从java代码中注入数据的参数的名称
<parameter name="GAPS" class="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"/>