java list显示数据_JRBeanCollectionDataSource:如何从JavaBean中显示java.util.List中的数据?...

您的问题与

How do I print a list of strings contained within another list in iReport?问题重复,与

Passing the List of primitive type objects as datasource for subreport问题相关。

这是工作样本。

此示例的要点:

>使用_THIS表达式;

>使用List(jr:list)组件在Detail band中

生成报告的代码片段:

public static void testBuildPdf() {

try {

Map params = new HashMap();

JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);

JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, getDataSource());

JasperExportManager.exportReportToPdfFile(jasperPrint, outputFileName);

} catch (Exception e) {

e.printStackTrace();

System.out.println(e.getMessage());

}

}

private static JRDataSource getDataSource() {

Collection coll = new ArrayList();

BeanWithList bean = new BeanWithList(Arrays.asList("London", "Paris"), 1);

coll.add(bean);

bean = new BeanWithList(Arrays.asList("London", "Madrid", "Moscow"), 2);

coll.add(bean);

bean = new BeanWithList(Arrays.asList("Rome"), 3);

coll.add(bean);

return new JRBeanCollectionDataSource(coll);

}

JavaBean代码:

public class BeanWithList {

private List m_cities;

private Integer m_id;

public BeanWithList(List cities, Integer id) {

m_cities = cities;

m_id = id;

}

public List getCities() {

return m_cities;

}

public Integer getId() {

return m_id;

}

}

jrxml文件:

结果将是:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值