我将图片列表传递给我的报告。我想在报告中的 List 对象中进行渲染。
之前我使用过JasperReports列表,并且我知道我可以使用$F{}
标记引用列表中元素的每个字段,但是如何引用列表本身的元素?
基本上我想使用$F{this}
或$F{self}
之类的内容。有这样的事吗?
答案 0 :(得分:3)
是的,您可以使用别名 _THIS
。
来自 JasperReports终极指南的引用:
可以使用特殊字段映射来访问当前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终极指南 是here。
您还可以在How to access the root element of the datasource in jasperreports问题上通过 GenericJon 阅读答案。