日期:2014-05-16  浏览次数:20929 次

JasperReport快速入门--设计篇(二)--使用交叉表创建课表

何为交叉表?

先来个图吧




这个表格用于统计每个国家的每种产品的数量(表中数据均为模拟数据,不是真实数据)

 

这种表格有一个特点:行标题和列标题都是动态的,是根据查询出来的数据进行横向和纵向的分组统计得到的。以上表举例:国家的数量是变的、产品的种类也是变的;可以对某个国家或某种产品进行聚合统计

 

jasperreport对交叉表也提供类支持,有一个element是专门来做交叉表的:Crosstab。如下图所示




上一篇文章中,我提到是因为做课程表的需求,才学习了jasperreport,而其中的Crosstab元素的结构和课程表长得确实很像,所以重点研究了交叉表。


课程表的结构


课程表中横向是节次,纵向是星期。星期和节次是课表中每个单元格的两个坐标,只要这两个坐标确定了,单元格的位置就定了。

课表只是利用了交叉表的结构,而并没有做任何的数据统计,只是原始数据的显示

 

下面就以课程表为例,介绍交叉表的使用

 

1.将交叉表元素拖到新建的空白报表的Summary band

该例子中删除了其它不用的band,只留了pageheader用来显示课表的标题和Summary用来显示课表表格



注意:一定要将crosstab拖到summaryband,否则运行时会报错