我正在将图像列表传递给我的报告。我想在报表的List对象中呈现它。
我以前使用过 JasperReports 列表,我知道我可以使用$F{}
标签引用列表中元素的每个字段,但是如何引用列表本身的元素呢?
基本上我想使用类似$F{this}
, 或$F{self}
. 有这样的事吗?
我正在将图像列表传递给我的报告。我想在报表的List对象中呈现它。
我以前使用过 JasperReports 列表,我知道我可以使用$F{}
标签引用列表中元素的每个字段,但是如何引用列表本身的元素呢?
基本上我想使用类似$F{this}
, 或$F{self}
. 有这样的事吗?
是的,您可以使用别名_THIS
。
JasperReports Ultimate Guide的引述:
可以使用特殊的字段映射来访问当前的 JavaBean 对象本身。因此,当字段使用 _THIS 作为描述或名称时,数据源将返回当前 JavaBean 对象作为字段值。当报表需要从当前对象中提取一些与遵循 JavaBeans 标准的属性不对应的数据时(例如,数据由采用某些参数的方法返回),或者当前对象需要作为参数传递给在报告表达式之一中调用的方法。
jrxml文件片段:
<subDataset name="dataset1">
<field name="city" class="java.lang.String">
<fieldDescription><![CDATA[_THIS]]></fieldDescription>
</field>
</subDataset>
JavaBean 的片段:
public class AddressBean {
private String city;
private Integer id;
private PersonBean person;
public AddressBean getAddress() {
return this;
}
public String getCity() {
return city;
}
public Integer getId() {
return id;
}
JasperReports 终极指南在这里。
您还可以阅读GenericJon关于如何在 jasperreports 问题中访问数据源的根元素的答案。