我想使用以下自定义类创建报告:
public class Class1 {
String cl1_f1;
String cl1_f2;
}
public class Class2 {
String cl2_f1;
String cl2_f2;
Class1 cl1_ob1;
}
现在,我通过字段和JRBeanCollectionDataSource在报表中传递 Class2 。
<subDataset name="myitems">
<field name="cl2_f1" class="java.lang.String"/>
<field name="cl2_f2" class="java.lang.String"/>
**<field name="cl1_ob1" class="Class2"/>**
</subDataset>
对于第三个参数,我要提及其一个字段。例如:
cl1_ob1.cl1_f1
。我该怎么做?
最佳答案
在Jasper报表设计中,该字段将定义如下:
<field name="cl1_ob1" class="Class1">
<fieldDescription><![CDATA[cl1_ob1]]></fieldDescription>
</field>
可以通过调用getter方法(如果有)来访问Class1的2个变量,或者可以根据其访问权限直接使用该变量。例如, $ F {cl1_ob1} .getCl1_f1()可以用作文本字段表达式,如下所示:
<textField>
<reportElement x="36" y="26" width="235" height="20"/>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{cl1_ob1}.getCl1_f1()]]></textFieldExpression>
</textField>
关于jasper-reports - JasperReports字段的自定义类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8900793/