`

jasperreport不适用子报表实现中国式分组报表功能

    博客分类:
  • java
 
阅读更多
 
副标题:   单行统计报表中如何通过一列的值决定另一列是否显示

 
 上面这个报表的统计要求是当“列9”的值不变动时,“列1”的值就不重复打印。
如上图效果 “列9”第1,2行值相同,所以“列1” 只第一行显示,第二行空白。
同样,“列9”第3,4行值相同,只显示第3行,第4行空白。
 
上面报表展现效果,按照我以前的一贯实现思路 ,想到的是运用jasperreport的子报表(subReport)去实现,即
根据“列9”的数据,构建好一个查询的数据的视图,视图数据样例如下:图1


 然后根据“列1”列值做分类统计,报表模板样式如下:


 
 然后根据主报表中传递过来的“列1”的值,在子报表中和隐藏的“列1”的值做比较,从而展现相应的数据。
 
上面这种做法实现起来比较麻烦,且不是最优方案。
 
下面给出第二种方案:
方案前提:必须使用javabean数据源
jasperreport使用javabean数据源,默认使用JRDataSource dataSource = new JRBeanCollectionDataSource(list);
JRBeanCollectionDataSource 做报表数据源,这个类中有getFieldValue 方法用于获取当前bean的属性。
我们可以重写JRBeanCollectionDataSource 类,并重写getFieldValue 方法
 在重写getFieldValue 方法中我们可以根据“列9”的值 去判断 “列1”的 值 是否打印,从而实现图1 的效果。
  • 大小: 4.6 KB
  • 大小: 2.1 KB
  • 大小: 4.4 KB
分享到:
评论

相关推荐

    jasperreport一个子报表的例子

    在JasperReport中,子报表是用于在主报表内部嵌套其他报表的一个功能,可以用来组织和展示更复杂的结构化数据。标题、描述和标签提示我们,这个例子将围绕如何使用JasperReport创建并集成子报表展开。 首先,我们要...

    springboot整合JasperReport实现报表功能

    总的来说,SpringBoot与JasperReport的整合使得报表生成变得简单,它提供了灵活的设计工具和丰富的数据绑定能力,可以帮助开发者快速地实现复杂报表的展示需求。通过学习和掌握这一技术,你可以提升企业应用的报表...

    JasperReport动态生成报表

    JasperReport的核心功能包括报表设计、数据处理、样式定制以及报表导出等。 **1. 报表设计** 报表设计是JasperReport的基础,通常通过JasperReport的图形化设计工具——iReport或Jaspersoft Studio进行。这些工具...

    使用JavaBean构造JasperReport子报表

    当我们需要在JasperReport中使用子报表时,JavaBean就成为一种重要的数据绑定源,帮助我们组织和传递数据。本篇文章将深入讲解如何利用JavaBean来构建JasperReport的子报表。 首先,确保你的项目中包含了必要的库...

    JasperReport 中交叉报表指南

    JasperReport 是一个功能强大且灵活的报表生成工具,它提供了许多功能来帮助开发者生成复杂的报表。在报表生成中,交叉报表是一种常用的报表类型,能够将数据按照行和列进行交叉处理,生成一个交叉表。以下是 ...

    JasperReport动态报表归并行数据

    这可以通过JasperReport的Group功能实现,通过设置一个或多个分组字段,相同分组的数据会被归并到同一行中。分组不仅可以基于一个字段,还可以是多个字段的组合,提供更复杂的数据归并。 4. **自定义脚本let**: ...

    JasperReport+ireport实现报表导出功能

    在实际开发中,JasperReport和iReport的组合使用可以帮助开发者高效地实现报表的生成和导出功能,而且由于其开源性质,可以自由定制和扩展,适用于各种项目需求。对于初学者,可以通过阅读官方文档和在线教程,快速...

    ireport 子报表,行合并实例

    总的来说,掌握IReport和JasperReport的子报表及行合并功能,可以帮助你设计出更加灵活和高效的报表系统,从而提升数据分析和决策支持的能力。在实际开发中,应结合具体业务场景,灵活运用这些工具和技术,提高报表...

    JasperReport动态表头及subreport实现多表

    在IT行业中,报表生成是数据分析和业务展示的重要环节,JasperReport作为一个强大的开源报表工具,被广泛应用在Java项目中。本篇文章将详细讲解如何利用JasperReport实现动态表头和多表分页,并通过subreport来达到...

    iReport 和 Jasperreport整合开发web报表向导2.doc

    "Report groups" 用于设置报表分组,可以根据数据的某个字段进行分组,以实现汇总或分组显示。 通过以上介绍,我们可以了解到 iReport 作为 JasperReport 的设计工具,如何进行数据库连接、报表元素设计、运行预览...

    利用Jasperreport+IReport进行报表开发

    在IT行业中,报表开发是企业信息化管理不可或缺的一部分,它帮助企业分析数据、做出决策。...通过深入学习和实践,你可以掌握更多高级特性,如子报表、参数传递、交互式报表等,从而满足更复杂的业务需求。

    JasperReport 水晶报表

    - **子报表:** 提供子报表功能,允许在一个报表中嵌套另一个报表,实现复杂的数据层次结构展示。 - **多格式输出:** 报表可导出为PDF、HTML、Excel、CSV等多种格式,满足不同应用场景的需求。 - **图表支持:** ...

    jasperreport ireport开发java报表入门级教程(完整版).rar

    JasperReport的核心功能是设计和生成静态报表,而动态数据的填充则依赖于Java代码或者其他数据源。 IReport是JasperReport的官方报告设计器,提供了一个直观的GUI界面,让用户无需编写代码就能设计报表模板。用户...

    JasperReport报表设计总结

    JasperReport是一款强大的Java报表工具,它允许开发者创建复杂、多格式的报表,并能与各种数据源集成。本文主要总结了JasperReport报表设计的关键点,包括报表格式定制、数据填充以及显示或打印。 首先,报表格式的...

    iReport 报表、子报表、主从报表、合计、实例解析

    iReport 报表、子报表、主从报表、合计、实例解析1. 开发使用步骤(iReport4.1)... 2 4.1. JasperReport 和iReport的介绍... 2 4.1.1. JasperReport 简介... 3 4.1.2. iReport 简介... 3 4.1.2.1. iReport几个重要...

    iReport 和 Jasperreport整合开发web报表向导

    - **交互式报表**:Jasperreport支持交互式功能,如分页、排序、过滤等,提升用户体验。 - **图表**:可以添加各种图表,如柱状图、饼图、线图,增强数据可视化效果。 - **参数传递**:报表可以接受来自Web应用的...

    JasperReport+iReport 报表工具详细开发手册

    JasperReport是一款功能强大的报表引擎,适用于Java应用环境。它能够根据预设的模板生成多种格式的报表,如PDF、HTML、Excel等。iReport则是JasperReport的一个图形化设计工具,用于帮助开发者轻松创建复杂的报表...

    struts2+jasperReport+ireport做报表总结

    总之,使用Struts2、JasperReport和iReport开发报表时,要关注数据源配置、中文支持、Struts2与报表之间的交互以及子报表的参数传递。遇到问题时,多参考官方文档、社区资源,结合错误信息进行排查,往往能找到合适...

Global site tag (gtag.js) - Google Analytics