ireport迭代数据收集和访问字段

时间:2015-03-31 21:12:39

标签: java jasper-reports

我想用jasper iReport创建简单的报告。 我不知道如何迭代思想对象C字段。为此我创建了子报告。 我的课程示例:

public class D {
    private A a;
    private B b;
    private ArrayList<C> c;
    //getters setters
}

public class C {
   int id;    
   String name;
   // getters setters
}

在主要报告中我宣布:

<subreport>
.....
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{c})]]></dataSourceExpression>
<subreportExpression><![CDATA["C:\\path\\report1_subreport2.jasper"]]></subreportExpression>
</subreport>

在子报告中:

<field name="c" class="java.util.Collections"/>

我的问题:如何访问C类字段?

我尝试将类java.util.Collections更改为C,以创建名称为C的字段,但没有任何帮助。

1 个答案:

答案 0 :(得分:2)

定义字段时,请按以下步骤操作

<field name="c.id" class="java.lang.String"/>

<field name="c.name" class="java.lang.String"/>

其中c是对象,id和name是C类的字段。 也可以在代码中对类进行更改。