使用JRBeanCollectionDataSource

时间:2016-10-19 09:25:27

标签: java jasper-reports pie-chart subreport

主报表包含具有饼图的表和子报表。问题是子报表是空的。我的问题是如何将JRBeanCollectionDataSource从主报表传递到子报表以及子报表如何使用JRBeanCollectionDataSource?

主要报告

<parameter name="statisDatasource" class="java.util.Collection"/>

<subreport>
        <reportElement x="164" y="206" width="200" height="100" />
        <dataSourceExpression><![CDATA[new   net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{statisDatasource})]]></dataSourceExpression>
        <subreportExpression><![CDATA[this.getClass().getResourceAsStream($P{SUBREPORT_DIR} + "empTasks_subreport1.jasper")]]></subreportExpression>
</subreport>

子报告

<field name="subjectName" class="java.lang.String"/>
<field name="marks" class="java.lang.Integer"/>

<detail>
        <band height="125" splitType="Stretch">
            <pie3DChart>
                <chart>
                    <reportElement x="122" y="0" width="330" height="125" />
                    <chartTitle/>
                    <chartSubtitle/>
                    <chartLegend/>
                </chart>
                <pieDataset>
                    <keyExpression><![CDATA[$F{subjectName}]]></keyExpression>
                    <valueExpression><![CDATA[$F{marks}]]></valueExpression>
                </pieDataset>
                <pie3DPlot>
                    <plot/>
                    <itemLabel/>
                </pie3DPlot>
            </pie3DChart>
        </band>
    </detail>

0 个答案:

没有答案