我想用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的字段,但没有任何帮助。
答案 0 :(得分:2)
定义字段时,请按以下步骤操作
<field name="c.id" class="java.lang.String"/>
<field name="c.name" class="java.lang.String"/>
其中c是对象,id和name是C类的字段。 也可以在代码中对类进行更改。