我试图循环一个由jasperreport中的scriptlet返回的ArrayList。当我尝试显示此Arraylist时,将其显示在一个字段中,我想让它逐行详细显示,任何人都可以提供任何帮助,在此先感谢您。
最佳答案
我想建议您使用JRBeanCollectionDataSource。检查以下方法:
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameterMap, new JRBeanCollectionDataSource(list));
在JRBeanCollectionDataSource中传递您的arraylist,然后应逐行显示列表项。
编辑
使用自定义bean类,假设您想在Report中显示用户详细信息,然后执行以下操作:
class User{
private String userName;
private String address;
....
/*
Getters and setters
*/
}
创建
List<User>
并将其传递给JRBeanCollectionDataSource。在jrxml文件中,使用如下字段:
<field name="userName" class="java.lang.String">
<fieldDescription><![CDATA[userName]]></fieldDescription>
</field>
名称必须与Bean类-用户中的变量名称相同。
希望这会帮助你。