ireport5.6使用table组件,如何用table显示javaBean数据源
2015-08-04 09:33
1236 查看
1.从组件面板添加一个table组件到报表中。
2.设计table的字段头.
合并操作
1.
2.
删除你不需要的列
新增你的合并列
3.在报表Parameters里新增一个参数dets(java.util.List)
4.配置table数据集
a.重命令数据集(方便)
右键-》属性,即可修改.
b.添加一个Parameters
新增一个table1(net.sf.jasperreports.engine.JRDataSource)
c.手动配置代码,把dets参数传递给table1接收
d.添加Fields,显示的字段
5.报表设计完成
6.编写java代码以传递javaBean数据源的方式调用报表并显示
2.设计table的字段头.
合并操作
1.
2.
删除你不需要的列
新增你的合并列
3.在报表Parameters里新增一个参数dets(java.util.List)
4.配置table数据集
a.重命令数据集(方便)
右键-》属性,即可修改.
b.添加一个Parameters
新增一个table1(net.sf.jasperreports.engine.JRDataSource)
c.手动配置代码,把dets参数传递给table1接收
<datasetParameter name="table1"> <datasetParameterExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{dets})]]></datasetParameterExpression> </datasetParameter> <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{dets})]]></dataSourceExpression>
d.添加Fields,显示的字段
5.报表设计完成
6.编写java代码以传递javaBean数据源的方式调用报表并显示
/** * 打印报表 ckz * * @param billcode * @param req * @param resp * @throws Exception */ @SuppressWarnings({ "rawtypes", "unchecked" }) @Transactional(readOnly = true) public void doReport(String billcode,String exportType,HttpServletRequest request,HttpServletResponse response){ try { String root_path = request.getSession ().getServletContext ().getRealPath (""); List list = binadjustBillMasDao.queryBinadjustbillDS (billcode); List datalist = binadjustBillDetDao.queryBinadjustbillDet (billcode); // 设置report参数 Map params = new HashMap (); String username = (String) request.getSession ().getAttribute ("employeename"); params.put ("username", username); params.put ("title", "物资调整单"); params.put ("dets", datalist); params.put ("SUBREPORT_DIR", root_path + "\\webresource\\reports\\binadjust\\"); params.put ("logo", root_path + IReportConstant.LOGOIMAGEURL); // 获取打印报表所需的数据 String jaspername = "/binadjust/report_binadjustbill_mas_cn.jasper"; //注:list的size的大小,决定报表里的Detail显示几次,比如:size=2,那么加载后的报表就有2个table显示 JasperHelper.exportmain (exportType, jaspername, list, params, "binadjust", request, response); } catch (Exception ex) { PrintWriter out = null; try { response.setCharacterEncoding ("UTF-8"); out = response.getWriter (); out.write ("<h1 style='position: absolute;left: 50%;top: 50%;margin-left: -180px;margin-top: -10px;'>打印报表出错,请重试!</h1>"); } catch (IOException e) { e.printStackTrace (); } finally { out.close (); } ex.printStackTrace (); } response.setCharacterEncoding ("UTF-8"); response.setContentType ("text/html;charset=UTF-8"); }7、效果
相关文章推荐
- struts2简记
- java实现文件的上传下载
- JavaWeb实现文件上传下载功能实例解析
- MyEclipse 2015 反编译插件安装
- 算法之动态规划初步(Java版)
- Java设计模式—观察者模式
- 算法之动态规划初步(Java版)
- eclipse cannot be created
- Eclipse常用快捷键大全
- java.lang.IllegalArgumentException:pointerIndex out of range问题的两种解决办法
- Java设计模式(五) 之 工厂模式
- Java删除ArrayList中的重复元素的2种方法
- Java设计模式(四) 之 模板方法模式
- 『Spring.NET+NHibernate+泛型』框架搭建之BLL(四)
- Java设计模式(二) 之 迭代器模式
- 在IDEA下创建新项目时出现Error:Cannot determine Java VM executable in selected JDK错误
- 【Java并发编程实战】-----synchronized
- Java数组与泛型
- struts配置dtd提示
- java泛型详解