ireport5.0分组报表的一些总结

iReport 5.6.0组件实战:从基础到高级报表设计全解析 本文全面解析iReport 5.6.0组件从基础到高级报表设计的实战技巧,涵盖静态文本框、文本域、图片组件等核心功能的使用方法。通过实际案例和代码示例,帮助开发者掌握多语言模板切换、动态二维码生成、条件分页等高级特性,提升企业级报表开发效率与质量。 阅读详情

最近用ireport5.0做报表界面的展示,用到了很多分组以及分组里面嵌套分组的情况,做一下总结。

具体分组的需求如下:

“分组”:

提供两个组合框控件,选择项都为“全部”、“省份”、“城市”,两个组合框控件互控关系:

1、某个组合框选择“全部”时,另一个组合框的选择项为“全部”、“省份”、“城市”

2、某个组合框选择“省份”时,另一个组合框的选择项为“全部”、“城市”

3、某个组合框选择“城市”时,另一个组合框的选择项为“全部”、“省份”

报表呈现的控制:

选择了“省份”时,报表中“省份”字段不在表格中显示,而在组的标题处显示,同理,选择了“城市”时,报表中“城市”字段不在表格中显示,而在组的标题处显示。


需求分析:在一张ireport报表界面中要实现按省份分组,城市分组,省份+城市分组,城市+省份分组,不分组这五种情况。

思路:通过在ireport报表中定义参数,根据参数的值来进行动态分组即分组条件是动态的,根据条件来判断显示那个分组的表头和表尾。

具体:在报表中定义2个参数pamCondition1类型Stirng,pamCondition2类型String省略为p1,p2

分组情况如:

1. p1=0,p2=0  不分组;

2. p1=1,p2=0或p1=0,p2=1  省份分组;

3.p1=2,p2=0或p1=0,p2=2   城市分组;

4.p1=1,p2=2 省份+城市分组;

5.p1=2,p2=1 城市+省份分组;

a.首先考虑不分组的情况,在detail1和Column Header拉入你要显示的字段名及字段循环的值,选中detail1和Column Header栏,在Print When Expression中加入显示条件

new Boolean($P{pamCondition1}.equals( "0" ) && $P{pamCondition2}.equals( "0" ))  即满足p1=0,p2=0时不分组

b.建立分组名report1

分组条件

new Boolean(
  ($P{pamCondition1}.equals( "0" ) && $P{pamCondition2}.equals( "1" ))
  || ($P{pamCondition1}.equals( "1" ) && $P{pamCondition2}.equals( "2" ))
  || ($P{pamCondition1}.equals( "1" ) && $P{pamCondition2}.equals( "0" ))
)?$F{province}:$F{city}     条件成立就按省份分组,否则按城市分组 

在report1 Group Header1中加入要显示的列名,新建detail2加入你要显示的列值。

在report1 Group Header1 ,detail2,report1 Group  Foot1的Print When Expression中加入显示条件

new Boolean(
  ($P{pamCondition1}.equals( "0" ) && $P{pamCondition2}.equals( "1" ))
  || ($P{pamCondition1}.equals( "1" ) && $P{pamCondition2}.equals( "2" ))
  || ($P{pamCondition1}.equals( "1" ) && $P{pamCondition2}.equals( "0" ))
)   即report1 Group Header1 ,detail2,report1 Group  Foot1做为一个整体用来显示省份分组的情况,在满足条件的情况下才显示。

同理按城市分组只需要为report1新增加一个分组头report1 Group Header2同于显示列名,detail3显示列值,report1 Group  Foot2用于显示分组统计结果,

分组条件是report1的分组条件,显示条件是:

new Boolean(
    ($P{pamCondition1}.equals( "0" ) && $P{pamCondition2}.equals( "2" ))
 || ($P{pamCondition1}.equals( "2" ) && $P{pamCondition2}.equals( "1" ))
 || ($P{pamCondition1}.equals( "2" ) && $P{pamCondition2}.equals( "0" ))
) 即report1 Group Header2 ,detail3,report1 Group  Foot2做为一个整体用来显示城市分组的情况,在满足条件的情况下才显示。

c.建立分组repprt2

分组条件

new Boolean(
    $P{pamCondition1}.equals( "1" ) && $P{pamCondition2}.equals( "2" )
)?$F{city}:$F{province}  

report2 Group Footer1的显示条件是:

new Boolean(
    $P{pamCondition1}.equals( "1" ) && $P{pamCondition2}.equals( "2" )
)   即 report Group Header1 ,detail2,report2 Group Footer1 是用于显示省份+城市分组的结果。

为report2新建一个分组尾,report2 Group Footer2  显示条件

new Boolean(
    $P{pamCondition1}.equals( "2" ) && $P{pamCondition2}.equals( "1" )
)  即 report Group Header2 ,detail3,report2 Group Footer2 是用于显示城市+省份分组的结果。



             


Java和iReport实现报表开发的综合教程 iReport 是一个功能丰富的报表设计工具,它允许开发者和设计师快速创建复杂报表并将其嵌入到应用程序中。其界面布局直观,操作简单,但功能强大。iReport 支持从简单的列表和表格到复杂的图表和交叉表等多样化报表类型。例如,参数化报表允许用户通过参数来动态过滤数据,而主/子报表则允许在单个报表文件中展示从属关系数据。在现代的报表系统中,支持多种导出格式是基本要求。常见的导出格式包括:PDF:便携式文档格式,适合打印和分发。Excel:电子表格格式,适合数据进一步处理和分析。 阅读详情

相关推荐

iReport分组报表

iReport分组报表 利用Print Repeated Values属性以及加边框实现

IReport添加报表分组与分组统计

以IReport3.7.6为例,新建一个学生成绩统计报表,如下图: 报表共有4列,依次代表学号(id)、姓名(name)、课程(course)、成绩(score)。 按照id进行分组,在报表界面上单击鼠标右键,选择Add Report Group。 创建分组名称,选择对应的列,这里叫做StudentID,

骨哥博客 6948

ireport5.0 官方实用教程

ireport5.0入门级实用教程,摘自ireport官网

ireport 序号 合计,分组序号

在使用ireport做报表的过程中遇到需要分组及序号显示的,但网上的资料良莠不齐,为了分组的验证浪费了一些时间,所以做了以下的一些简单例子,希望对你们有些帮助。 1.普通ireport序号 和 合计  步骤一:定义变量如index (设置序号),total (设置合计) 步骤二:设置变量信息 a)index 序号的变量信息 b)total合计的变量信息,计算的是字

zyf的博客 4270

免费下载iReport-5.0.0.rar

iReport报表编辑器

最大似然估计、梯度下降、EM算法、坐标上升

主要讲解的是机器学习中参数学习算法之间的区别,以及应用的场景。 最大似然估计: 其中目标函数是对数似然函数。为了求目标函数取最大值时的theta。有两个关机键步骤,第一个是对目标函数进行求导,第二个是另导数等于0,求解后直接得到最优theta。两个步骤缺一不可。 梯度下降: 对目标函数进行求导,利用导函数提供的梯度信息,使参数往梯度下降最快的方向移动一小步,来更新参数。为什

tzl2093的博客 5141

iReport专题学习之组(Group)06

组(Groups) groups允许我们对报表里的数据进行全新的切割分组组合,分组是通过一个

u014548782的专栏 4299

五段式S型算法笔记

又因为有 v-v0= 0.5jt通式: 所以有 vm-v0= 0.5jtm 所以有4vm-4v0= 2jtm。算法1: v=2vm-v0-0.5*jt+2jt*tm-2jtm*tm。加加速度j 自己设置 已知,vmax自己设置已知;所以有4vm-4v0= 2jtm带入算法1。

qq_36658033的博客 681

iReport利用Print Repeated Values做分组报表以及对重复值做distinct运算

iReport自带的分组功能有可能是比较符合西方的分组标准,对于中国人来说希望显示方便、节省纸张,对于iReport实现起来就稍微复杂一点了。 iReport版本 5.1.0,demo所用数据源:json数据源 一、iReport利用Print Repeated Values做分组报表 首先看一下预览效果 效果看起来还不错,主要是用了3个技巧1、Print Repeated Value

Danna的专栏 5957

OLLAMA_HOST环境变量设置全攻略:从127.0.0.1到局域网共享的完整配置

本文详细解析了OLLAMA_HOST环境变量的核心作用与配置方法,指导用户如何将Ollama服务从仅限本机访问(127.0.0.1)扩展到局域网共享。文章涵盖了macOS、Linux、Windows三大平台的实战配置步骤,并提供了安全加固、性能优化及常见故障排查方案,是解决多设备协作访问本地AI模型的完整指南。

weixin_28455801的博客 1896

【chatgpt代码系列】磁导航纠偏算法推导

例如,可以根据AGV偏离路径的方向和距离,计算出需要进行的修正角度和移动距离,然后通过控制算法实现对AGV的纠偏。具体来说,磁导航AGV的行驶是通过磁场传感器感知地面磁场信号,然后根据信号的强度和方向来确定AGV的位置和方向,进而控制AGV的行驶。但是,在实际应用中,由于地面磁场信号的变化和干扰等因素,磁导航AGV可能会出现偏离路径的情况,导致行驶不稳定甚至出现误差。磁导航AGV纠偏公式是通过对AGV行驶中偏离路径的原因进行分析,结合磁导航AGV的工作原理和控制算法,推导出来的。假设AGV的目标方向为。

少磊的博客 2807

ireport 循环_ireport5.6.0分组显示

一,ireport中分组二,java调用实现分组一,ireport中分组:1,新建模板文件,纸张随意,名称随意,路径随意2,连接要分组的数据源3,添加测试表和数据CREATE TABLEyananTest (departIdINT,departNameVARCHAR (20),stuNameVARCHAR (20))GOINSERT INTO yananTest VALUES(1,'开发部','张...

weixin_39645165的博客 643

命令行删除描述文件_写一个删除lock文件的skill脚本

来源:IC技能搬运工 作者:小目Cadence软件使用过程中偶尔会遇到文件被lock的情况,这是Cadence软件对文件的一种保护措施,大部分情况都是对用户友好的,但是偶尔也会给用户带来困扰,给工作带来的一定的不便。文件是如何被锁的Cadence在用户打开文件进行编辑的时候会在文件的同一级目录新建一个lock文件,用来标识文件的状态。一般情况下如果文件被正常关闭,这个lock文件会在...

weixin_39781452的博客 1352

iReport+jasperReports制作WEB报表

[声明]内容部分摘自网上,感谢网友共享第一部分:环境配置一、JDK、WEB服务器及数据库的安装与配置  (此处略,本文测试环境JDK1.5、Resin2.1.7、SQLServer2K)二、IReport的安装  下载地址http://ireport.sourceforge.net  目前最新版本1.3.3  包中已经包含iText-1.3.1.jar和jasperreports-1.3.

阿狼专栏 1485

从NASA DataPort下载到PyTorch Dataset:手把手处理USGS光谱库的AVIRIS数据

本文详细介绍了如何从NASA DataPort下载USGS光谱库的AVIRIS高光谱数据,并将其转化为PyTorch Dataset对象。内容涵盖数据获取、预处理、辐射定标及高效数据加载技巧,特别针对AVIRIS数据的水吸收波段剔除和波段分组标准化进行了重点讲解,为环境监测、地质勘探等领域的研究者提供实用指南。

weixin_30607659的博客 283

告别手动读摘要!爬虫+大模型做学术助手:爬知网论文,10秒生成摘要+关键词(附完整代码)

知网的官方摘要往往冗长(200-300字),关键词可能不够精准,用大模型提炼“100字精简摘要”和“3-5个核心关键词”,更适合快速筛选文献。这套学术助手的核心价值,是把“找论文、读摘要、提关键词”这些重复劳动,交给爬虫和大模型自动化完成,让科研人从繁琐的文献整理中解放出来,把时间花在实验设计、数据分析等核心工作上。需要注意的是:爬取知网论文仅用于个人科研和学习,不得用于商业用途,遵守知网的用户协议和版权规定;大模型生成的摘要和关键词需后续核对原文,确保准确性。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1942

视频教程-JAVA报表开发JasperReport+iReport5.6详解-Java

JAVA报表开发JasperReport+iReport5.6详解 拥有10...

weixin_29298461的博客 1050

【实际操作】DenseFusion复现过程详解-YCB-Video数据集

这一篇是在YCB-Video数据集上的训练和测试过程。本次实验建立在实现LineMod数据集训练基础之上,因为前期的环境搭建都是一样的。首先,需要下载YCB-Video数据集,可以自己找找百度网盘资源,大概有两百多G。把下载下来的数据放在/work/DenseFusion/datasets/ycb/下并命名为YCB_Video_Dataset。同样的,激活自己的环境并进入 /work/DenseFusion/下,用命令:./experiments/scripts/train_ycb.sh出现以下内容开始训练

weixin_44564705的博客 3561

Jasperreport+iReport制作报表

ireport

从零开始 2408

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

报表 PDF Java报表 JasperReports IReport

1.报表模板设计器报表设计器IReport :https://sourceforge.net/projects/ireport/files/?source=navbar注意:该设计器如果打不开,则检查一下IReport的ireport.conf 文件,将里面的#jdkhome=""改为自己的jdk7的路径(即:jdkhome="C:\Program Files\Java\jdk1.7.0...

anjueyin4591的博客 278

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

使用JasperReport与iReport开发报表

一 JasperReport与iReport1) Jasperreport:是个基于Java技术的报表开发开源包(免费),按其规则可以编写出一个XML文件,根据XML文件支持多种格式文件的输出,例如:PDF、HTML、XML、XLS及CVS等。2)iReport是制作jasperreport XML文件的可视化开发工具(收费)。* 下载地址:http://sourceforge

traceofsun的专栏 1126

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

iReport制作报表

文章将会涉及3个方面的内容: 第一部分:使用iReport制作报表的详细过程(Windows环境下) 第二部分:使用Jasperreport作为报表控件开发胖客户端报表应用 第三部分:使用Jasperreport作为报表控件开发Web报表应用 第一部分:使用iReport制作报表的详细过程(Windows环境下) 1、前言 在网络上可以搜索到很多使用iReport和Jasperreport...

iteye_659的博客 268

ireport 打印 报表 收据

 ireport 打印报表 一、准备工作:1.将所有ireport的相关jar包 拷贝到工作目录  barbecue-1.5-beta1.jariReport.jaritext-1.3.1.jariTextAsian.jarjasperreports-3.0.0.jarjcommon-1.0.0.jarjfreechart-1.0.3.jar2.软件版本ireport3.1.0二、利用

fansyueyue的专栏 764

iReport报表开发

说明:制作像这样的报表 编号:2016030277777003 中华人民共和国预防健康检查用表 从业人员健康检查表 体检日期:2016-03-02 单位:xxxxxx 单位性质:个体 姓名:张三 性别:男 年龄:xx 民族:汉 文化程度:大学 工种:餐饮服务 工龄:2

{竹子} 8492

java ireport pdf_报表 PDF Java报表 JasperReports IReport

iReport也是开源组织sf.net中的一款免费软件,是为JasperReport设计的强大的,直观的,易于使用的可视化报表设计器,采用纯Java开发。这个工具允许用户可视化编辑包含charts、图片、子报表等的复杂报表。iReport 还集成了JFreeChart图表制作包,允许用户可视化地编辑XML(JasperDesign)文件。用于打印的数据可以通过多种方式获取包括:JDBC,Table...

weixin_42400074的博客 291

ireport5.0图形报表--柱状图

最近在做ireport柱状图显示用于显示客户满意度情况 根据条件进行分组,显示每个分组的满意度。分组求和可以直接在分组头中拉入字段,然后选择计算项,求和或求平均值等比较容易。 对满意度求和,显示总的满意度情况。不分组求和,就只能定义一个变量,类似java的循环求和。 这里用的是javaBean作为数据源,打来:工具-选项-Classpath-AddFolder 加入你的javabean的ca

代码的艺术 3909
上一篇: Struts2整合jasperreport html展示图片不显示的解决办法
下一篇: struts2 + jsaperReport 支持多数据源
墨桐
博客等级 码龄16年 7粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值