ireport 遍历数据收集和访问字段

ireport iterating through data Collection and accesing fields

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

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"/>

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

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

定义字段时,按如下方式进行

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

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

其中c是对象,id和name是classC的字段。 还要像代码中那样在 class 中进行更改。