Jasperreports+jaspersoft studio学习教程(六)- 分组显示数据
2018-01-27 14:27
501 查看
接着上一篇的内容来看报表分组显示数据
6.1 设计报表模板(在DemoReport4.jrxml上修改)
6.1.1 模板右键 -> Create Group ,跳出Group Band的页面,命名并选中分组方式点击Next ,只勾选 Group Header。
然后Finish。完成后模板中多出 Group2 Group Header1 的Band
6.1.2 将deptId 拖入 Group Header中 ,会跳出 TextField Wizard框,选中 NoCalculation Function 。
双击 $F{deptId} 会弹出Expression editor框
设计报表模板如下:
保存后,替换项目中的jrxml文件。
6.2 编写servlet注入数据源(在JasperServlet3上修改)
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Map<String,Object> parameters = new HashMap<String,Object>(16);
String jrxmlPath = request.getServletContext().getRealPath("/")+"/jrxml/DemoReport4.jrxml";
//由jrxml文件编译后生产jasper文件的路径
String jasperPath = request.getServletContext().getRealPath("/")+"/jasper/DemoReport4.jasper";
FileInputStream isRef = null;
ServletOutputStream sosRef = null;
try {
//编译jrxml生产jasper文件
JasperCompileManager.compileReportToFile(jrxmlPath, jasperPath);
isRef = new FileInputStream(new File(jasperPath));
sosRef = response.getOutputStream();
//组装list数据源
List<User> list = new ArrayList<User>();
User user1 = new User(1,"小明",20,1);
User user2 = new User(2,"小虎",20,1);
User user3 = new User(3,"小风",20,2);
User user4 = new User(4,"小东",20,2);
User user5 = new User(5,"小南",20,3);
User user6 = new User(6,"小翔",20,3);
list.add(user1);
list.add(user2);
list.add(user3);
list.add(user4);
list.add(user5);
list.add(user6);
//new JRBeanCollectionDataSource(list) 以javaBean为数据源注入报表数据
JasperRunManager.runReportToPdfStream(isRef, sosRef, parameters, new JRBeanCollectionDataSource(list));
response.setContentType("application/pdf");
} catch (JRException e) {
e.printStackTrace();
}finally {
sosRef.flush();
sosRef.close();
}
}
启动tomcat,并访问。
相关文章推荐
- Jasperreports+jaspersoft studio学习教程(四)- JDBC向导作为数据源填充数据
- Jasperreports+jaspersoft studio学习教程(五)- JavaBean作为数据源填充数据
- Jasperreports+jaspersoft studio学习教程(九)- 报表分页和大量数据内存处理
- Jasperreports+jaspersoft studio学习教程(三)- 解决打印pdf中文不显示问题
- Jasperreports+jaspersoft studio学习教程(十)- 多数据源的Chart图表
- Jasperreports+jaspersoft studio学习教程(一)- JasperReports简单示例
- Jasperreports+jaspersoft studio学习教程(八)- 子报表Subreport(父子报表互相传值)
- Jasperreports+jaspersoft studio学习教程(二)- 使用Parameters属性传入Map数据源填充报表
- Jasperreports+jaspersoft studio学习教程(七)- Table组件的使用
- jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
- jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
- Jasperreports6.3.1+Jaspersoft studio6.3.1进行报表开发实战教程(七)-PDF中文显示
- Jasperreports6.4.1+Jaspersoft studio6.4.1进行报表开发实战教程-PDF中文显示
- Jasperreports6.3.1+Jaspersoft studio6.3.1进行报表开发实战教程(七)-PDF中文显示
- Scott Mitchell 的ASP.NET 2.0数据教程之十五:在GridView的页脚中显示统计信息
- Oracle基础学习二:表的创建 数据的操作 在VS程序中的查询显示
- 高兴,学习中量变到质变,ASP.NET 2.0 树型数据的显示源代码(原创,用递归)
- 高兴,学习中量变到质变,ASP.NET 2.0 树型数据的显示源代码(原创,用递归)
- SQL学习之查询技巧 查询第3的数据 用一条语句分组,排序 并查询某一排名
- WAP(wml)开发教程4--WML学习之显示文本和图片