显示效果java代码部分
List<Map<String,String>> list=new ArrayList<Map<String,String>>();
for (int i = 0; i < 6; i++) {
Map map=new HashMap();
map.put("age","age"+i);
map.put("name","name"+i);
map.put("money","money"+i);
map.put("sex","sex"+i);
list.add(map);
}
Map<String,Object> param=new HashMap<String,Object>();
param.put("list",list);
param.put("appName","这是一个测试");
ireport设置
首先安装傻瓜式安装就行
第二选择编译后文件输出位置 工具---》选项
第三 在parameters创建一个参数list(后台传map的key,如map.put("list",list1)),并修改其类型为java.util.Collection;
第四 list设置属性
第五
在dataset2(123无所谓,后面对应上就行)设置Fields,属性为list中存放的对象的属性,比如说list中存放的是User,User属性有name,sex,age,money如下:
然后在模板Detail中添加List(component)组件,将要显示的数据放置List框中;
第六
也是最关键的一步,右键List(component),选择 Edit list datasource 设置 Connection/Datasource Expression 为
new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{list}),选择dateset2
之后通过$F{属性名}取到相应的值
第七,调整list组件包裹范围,确保循环输出有表格线(微调) 编译后就可以查看效果。