1、构造数据源:
package test;
import java.util.ArrayList;
public class CrossReportFactory {
public static Collection getData(){
List<Map<Object, Object>> subGuestName = new ArrayList<Map<Object, Object>>();
//第一行A1
subGuestNameInit(subGuestName, "C1", "A1","group1", "data1");
subGuestNameInit(subGuestName, "C2", "A1","group1", "data12");
subGuestNameInit(subGuestName, "C3", "A1","group1", "data13");
//第二行A2
subGuestNameInit(subGuestName, "C1", "A2","group1", "data123");
subGuestNameInit(subGuestName, "C2", "A2","group1", "data1234");
subGuestNameInit(subGuestName, "C3", "A2","group1", "data12345");
//第三行还是按C1、C2、C3分3列,但却又按row2分多行
subGuestNameInit(subGuestName, "C1", "A3","g2","d1");
subGuestNameInit(subGuestName, "C2", "A3","g2", "d12");
subGuestNameInit(subGuestName, "C3", "A3","g2", "d123");
subGuestNameInit(subGuestName, "C1", "A3","g3","d11");
subGuestNameInit(subGuestName, "C2", "A3","g3", "d22");
subGuestNameInit(subGuestName, "C3", "A3","g3", "d33");
return subGuestName;
}
public static void subGuestNameInit(List<Map<Object, Object>> subGuestName,String column,String row,String row2,String value){
Map<Object, Object> guestMap = new HashMap<Object, Object>();
guestMap.put("deptid", row);
guestMap.put("deptid2", row2); //第三行继续划分使用
guestMap.put("degree", column);
guestMap.put("empid", value);
subGuestName.add(guestMap);
}
}
2、新建一个模版,右击模版名添加Dataset,选择Dataset为刚创建的Dataset。为Dataset添加fields
3、创建交叉报表
row:
column:
value:
交叉报表创建成功。
但此时数据源还不可以,还得这样设置:
右击Detail中的交叉报表,选择Dataset run为"use dataset...",设置Dataset值为$P{REPORT_DATA_SOURCE}即可使用数据源。
详细设置如图:
效果如图:
最后交叉报表如图:
结果:
真正使用时隐藏掉红色部分即可达到要求。
- 大小: 63.9 KB
- 大小: 8.5 KB
- 大小: 57.7 KB
- 大小: 55.2 KB
- 大小: 50.5 KB
- 大小: 30.9 KB
- 大小: 101.1 KB
- 大小: 2.5 KB
- 大小: 11 KB
分享到:
相关推荐
关于ireport交叉报表的一些信息,里面描述了用ireport 怎样制作交叉报表。
ireport交叉报表.doc
在做交叉报表时,使用crosstab控件,可是一般都是按照id或其他描述进行排序,如果想把“合计”放最下面就遇到麻烦了。
ireport 的交叉表模版
ireport开发crosstab从基础到进阶详细教程。 包含本人报表项目实践经验总结。 尤其对于开发HTML显示的交叉报表大有用处。
Ireport 用子报表调用交叉报表,有问题可留言!
iReport制作交叉表的简单教程,分享一下。..........
iReport 绘制报表步骤,包括绘制简单的报表和绘制交叉报表的详细步骤。并包含例子。
iReport柱状图和交叉表画法..让你迅速掌握如何画交叉表和柱状图
ireport 交叉报表的例子,供学习交叉报表使用
iReport报表制作详解 详细介绍了iReport的结构、元素、属性、和子报表,交叉报表的制作
2010-11-06_ireport图文教程(超详细); iReport制作交叉表;iReport中文详细教程
有必要先阅读我先前发布的《SpringMVC与iReport(JasperReports) 5.6整合开发实例》这篇博文,只有熟悉了SpringMVC与iReport的整合基础之后,才能更容易上手本示例教程,因为本示例的重点在于iReport报表模板的设计。
ireport实现普通报表、交叉报表、分组报表,数据源使用jdbc方式
jasper+ireport化复杂为简单系列教程,我们力求将复杂而又难懂的ireport简单化、平民化。本文主要内容有交叉报表、普通报表、各种图表。交叉报表讨论的人很多,但真正实用的很少。
因下一个项目是数据中心报表系统,于是自学ireport报表工具,刚学起来吃力,现在能够实现基本的分组、子报表、交叉报表、图表等功能了,现在上传的是最基本的信息展示的报表,但是里面有样式的设定、页眉页脚、分页...
119 使用通用模板 121 14 图表 123 创建一个简单的图表 123 ...ireport.plugin.IReportPlugin类 139 大型编译器插件 142 文本向导插件 144 16 常规问题解决方案 145 打印百分比 145 计算组...
iReport和JasperReport进行简单的介绍,目的是把值得注意的...后面的几个文章将详细介绍一个使用Struts+Hibernate+Spring+iReport+JasperReport+Oracle联合报表(两个父子表联合)的设计过程,以及交叉表的设计过程。