JRBeanCollectionDataSource

JRBeanCollectionDataSource

我试图循环一个由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类-用户中的变量名称相同。

希望这会帮助你。

10-08 13:35