如何在jasper报告中显示ArrayList的值

时间:2013-12-03 09:22:23

标签: java jasper-reports report

我正在使用jasper报告5。 我能够打印简单的变量值,但我没有得到如何打印ArrayList变量的值。

我已经包含了

<field name="billNo" class="java.lang.Long"/>
    <field name="paymentType" class="java.lang.String"/>
    <field name="subTotal" class="java.lang.Float"/>
    <field name="vat" class="java.lang.Float"/>
    <field name="total" class="java.lang.Float"/>

我在

之类的字段上打印
 <textField>
        <reportElement x="276" y="70" width="180" height="15"/>
    <textElement/>
        <textFieldExpression><![CDATA[$F{total}]]></textFieldExpression>
    </textField>
其他人也一样。这很好。

现在我有一个ArrayList customerList。 其中包含字段customerNameaddress等。

我想使用jasper报告显示这些值如何执行此操作。

1 个答案:

答案 0 :(得分:0)

为客户列表创建另一个子报表,如:

<subreport>
<reportElement x="0" y="0" width="0" height="0"></reportElement>
<subreportParameter name="SUBREPORT_DIR"><subreportParameterExpression><![CDATA[$P{SUBREPORT_DIR}]]></subreportParameterExpression>
</subreportParameter>
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{customerList})]]></dataSourceExpression>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "CustomerList.jasper"]]></subreportExpression>
</subreport>

在新的子报告中

<textField>
        <reportElement x="276" y="70" width="180" height="15"/>
    <textElement/>
        <textFieldExpression><![CDATA[$F{customerName}]]></textFieldExpression>
    </textField>