如何合并或将多个jrxml jasperreports连接到一个报告单元中,
不使用java代码?
我可以上传jrxml文件并使用REST API / Webservice 生成报告单元。
或者这个元素布局有其他解决方案吗?
--header--
* group of countries
england
australia
croatia
* pie chart with countries
--footer--
--new page--
--header--
* group of something else
something 1
something else 2
....
* chart of something else
--footer--
我想有一个Array变量,我用<group>
元素迭代它并为每个Element打印一个Sub报告。像:
<variable name="chapters" class="java.util.List" resetType="None" resetGroup="ChapterGroup" incrementType="Group" incrementGroup="BrowserGroup">
<variableExpression>
<![CDATA[java.util.Arrays.asList("browser", "country")]]>
</variableExpression>
<initialValueExpression>
<![CDATA[new java.util.ArrayList()]]>
</initialValueExpression>
</variable>
<group name="ChapterGroup" isStartNewPage="true" keepTogether="true">
<groupExpression><![CDATA[$V{chapters}]]></groupExpression>
<groupHeader>
<band height="20" splitType="Stretch"/>
</groupHeader>
<groupFooter>
<band height="20" splitType="Stretch">
<subreport>
<reportElement isPrintRepeatedValues="false" x="5" y="25" width="325" height="20" isRemoveLineWhenBlank="true" backcolor="#ffcc99"/>
<subreportParameter name="<![CDATA[$V{chapters}]]>">
<subreportParameterExpression><![CDATA[$V{chapters}]]></subreportParameterExpression>
</subreportParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<subreportExpression class="net.sf.jasperreports.engine.JasperReport"><![CDATA["repo:/reports/" + $V{chapters}]]></subreportExpression>
</subreport>
但我无法让它发挥作用..
使用Jasper Report服务器5,(我自己编写jrxml代码,只使用iReports进行预览)。 所有内容的数据源相同,两个查询包含2个带图表的分组部分。
答案 0 :(得分:0)
这可以通过添加报告组来完成,您可以根据需要为每个图表添加任意数量的报告组,并将页眉和页脚保留在每个图表的同一报告组中,并且每个报告组都将具有子数据集。 我将5个报告与不同的页眉和页脚结合起来。
您可以在Reports目录下看到JasperSoft提供的样本报告名称“标准图表报告”。
要做到这一点: - 1: - 添加数据集 2: - 添加报告组 3: - 从调色板拖动图表
以下是代码示例,在此代码示例中,我将条形图和堆积条形图组合在两个页面中,并带有两个不同的子数据集: -
<group name="bar">
<groupExpression><![CDATA[null]]></groupExpression>
<groupHeader>
<band height="400">
<barChart>
<chart evaluationTime="Report">
<reportElement x="0" y="0" width="555" height="300"/>
<chartTitle>
<titleExpression><![CDATA["Bar Chart"]]></titleExpression>
</chartTitle>
<chartSubtitle>
<subtitleExpression><![CDATA["Chart Displaying Bars"]]></subtitleExpression>
</chartSubtitle>
<chartLegend/>
<hyperlinkTooltipExpression><![CDATA["Bar Chart"]]></hyperlinkTooltipExpression>
</chart>
<categoryDataset>
<dataset incrementType="Group" incrementGroup="salesState">
<datasetRun subDataset="categoryDataset"/>
</dataset>
<categorySeries>
<seriesExpression><![CDATA[$F{sales_state}]]></seriesExpression>
<categoryExpression><![CDATA[$F{full_name}]]></categoryExpression>
<valueExpression><![CDATA[$V{personAmount}]]></valueExpression>
</categorySeries>
</categoryDataset>
<barPlot>
<plot/>
<itemLabel/>
<categoryAxisLabelExpression><![CDATA["Name"]]></categoryAxisLabelExpression>
<valueAxisLabelExpression><![CDATA["Amount"]]></valueAxisLabelExpression>
</barPlot>
</barChart>
</band>
</groupHeader>
</group>
<group name="stackedBar">
<groupExpression><![CDATA[null]]></groupExpression>
<groupHeader>
<band height="400">
<stackedBarChart>
<chart evaluationTime="Report">
<reportElement x="0" y="0" width="555" height="300"/>
<chartTitle>
<titleExpression><![CDATA["Stacked Bar Chart"]]></titleExpression>
</chartTitle>
<chartSubtitle>
<subtitleExpression><![CDATA["Chart Displaying Stacked Bars"]]></subtitleExpression>
</chartSubtitle>
<chartLegend/>
<hyperlinkTooltipExpression><![CDATA["Stacked Bar Chart"]]></hyperlinkTooltipExpression>
</chart>
<categoryDataset>
<dataset incrementType="Group" incrementGroup="salesState">
<datasetRun subDataset="categoryDataset"/>
</dataset>
<categorySeries>
<seriesExpression><![CDATA[$F{sales_state}]]></seriesExpression>
<categoryExpression><![CDATA[$F{full_name}]]></categoryExpression>
<valueExpression><![CDATA[$V{personAmount}]]></valueExpression>
</categorySeries>
</categoryDataset>
<barPlot>
<plot/>
<itemLabel/>
<categoryAxisLabelExpression><![CDATA["Name"]]></categoryAxisLabelExpression>
<valueAxisLabelExpression><![CDATA["Amount"]]></valueAxisLabelExpression>
</barPlot>
</stackedBarChart>
</band>
</groupHeader>
</group>