`
uule
  • 浏览: 6306274 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

Ireport交叉报表

阅读更多

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
  • report1.zip (1.2 KB)
  • 描述: 测试模版文件
  • 下载次数: 100
分享到:
评论
3 楼 w156445045 2012-05-09  
请问下,value我写两个数据该怎么办呢~
2 楼 uule 2011-10-14  
哥们,我也是刚用到交叉报表的。。。
1 楼 colbybobo 2011-10-13  
你好,我看了你写的文章,想问你几个关于交叉报表的问题,麻烦你了!我的邮箱:colbybobo@gmail.com   
QQ:103596214

相关推荐

    关于ireport交叉报表

    关于ireport交叉报表的一些信息,里面描述了用ireport 怎样制作交叉报表。

    ireport交叉报表

    ireport交叉报表.doc

    ireport交叉报表自定义排序

    在做交叉报表时,使用crosstab控件,可是一般都是按照id或其他描述进行排序,如果想把“合计”放最下面就遇到麻烦了。

    ireport的交叉表模版

    ireport 的交叉表模版

    ireport开发交叉报表资料及笔记

    ireport开发crosstab从基础到进阶详细教程。 包含本人报表项目实践经验总结。 尤其对于开发HTML显示的交叉报表大有用处。

    Ireport 用子报表调用交叉报表

    Ireport 用子报表调用交叉报表,有问题可留言!

    用iReport制作交叉表(CrossTabs).doc

    iReport制作交叉表的简单教程,分享一下。..........

    iReport 绘制报表步骤

    iReport 绘制报表步骤,包括绘制简单的报表和绘制交叉报表的详细步骤。并包含例子。

    iReport柱状图和交叉表画法

    iReport柱状图和交叉表画法..让你迅速掌握如何画交叉表和柱状图

    ireport shipment 的例子

    ireport 交叉报表的例子,供学习交叉报表使用

    iReport报表制作详解

    iReport报表制作详解 详细介绍了iReport的结构、元素、属性、和子报表,交叉报表的制作

    iReport教程

    2010-11-06_ireport图文教程(超详细); iReport制作交叉表;iReport中文详细教程

    SpingMVC IReport多数据源交叉报表示例

    有必要先阅读我先前发布的《SpringMVC与iReport(JasperReports) 5.6整合开发实例》这篇博文,只有熟悉了SpringMVC与iReport的整合基础之后,才能更容易上手本示例教程,因为本示例的重点在于iReport报表模板的设计。

    ireport 3.0使用实例

    ireport实现普通报表、交叉报表、分组报表,数据源使用jdbc方式

    jasper+ireport化复杂为简单系列教程1

    jasper+ireport化复杂为简单系列教程,我们力求将复杂而又难懂的ireport简单化、平民化。本文主要内容有交叉报表、普通报表、各种图表。交叉报表讨论的人很多,但真正实用的很少。

    ireport报表实例

    因下一个项目是数据中心报表系统,于是自学ireport报表工具,刚学起来吃力,现在能够实现基本的分组、子报表、交叉报表、图表等功能了,现在上传的是最基本的信息展示的报表,但是里面有样式的设定、页眉页脚、分页...

    iReport开发文档

    119 使用通用模板 121 14 图表 123 创建一个简单的图表 123 ...ireport.plugin.IReportPlugin类 139 大型编译器插件 142 文本向导插件 144 16 常规问题解决方案 145 打印百分比 145 计算组...

    iReport-4.1.1

    iReport和JasperReport进行简单的介绍,目的是把值得注意的...后面的几个文章将详细介绍一个使用Struts+Hibernate+Spring+iReport+JasperReport+Oracle联合报表(两个父子表联合)的设计过程,以及交叉表的设计过程。

Global site tag (gtag.js) - Google Analytics