首页 > Java > java教程 > 如何使用 JRBeanCollectionDataSource 在 JavaBean 中显示 Java 列表中的数据?

如何使用 JRBeanCollectionDataSource 在 JavaBean 中显示 Java 列表中的数据?

DDD
发布: 2024-11-26 15:50:10
原创
928 人浏览过

How to Display Data from a Java List in a JavaBean Using JRBeanCollectionDataSource?

JRBeanCollectionDataSource:在 JavaBean 中显示 Java 列表中的数据

概述

基于 JavaBean 的报告通常涉及显示 Java 列表中包含的数据。本文探讨如何使用 JRBeanCollectionDataSource 来实现此目的。

实现

第 1 步:创建带有列表字段的 JavaBean

public class Userinfo {
    private String username;
    private String password;
    private List<Address> listAddress;
}
登录后复制

第 2 步:为列表生成数据集

private static JRDataSource getDataSource() {
    Collection<BeanWithList> coll = new ArrayList<BeanWithList>();
    coll.add(new BeanWithList(Arrays.asList("London", "Paris"), 1));
    coll.add(new BeanWithList(Arrays.asList("London", "Madrid", "Moscow"), 2));
    coll.add(new BeanWithList(Arrays.asList("Rome"), 3));

    return new JRBeanCollectionDataSource(coll);
}
登录后复制

第 3 步:定义 JRXML报告

在报告中,为列表创建一个子数据集,并在详细信息带中创建一个组件元素(jr:list)。

<subDataset name="dataset1">
    <field name="city" class="java.lang.String">
        <fieldDescription><![CDATA[_THIS]]></fieldDescription>
    </field>
</subDataset>

...

<detail>
    <componentElement>
        <jr:list printOrder="Vertical">
            <datasetRun subDataset="dataset1">
                <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{cities})]]></dataSourceExpression>
            </datasetRun>
        </jr:list>
    </componentElement>
</detail>
登录后复制

关键点

  • _THIS 表达式用于子数据集中检索当前列表的元素。
  • Detail 区域内的 jr:list 组件显示列表的元素。

以上是如何使用 JRBeanCollectionDataSource 在 JavaBean 中显示 Java 列表中的数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板