水晶报表:交叉表页内自动“换行”

转自:http://topic.csdn.net/u/20090422/00/6ad57982-d44c-44a8-8089-e19107b0c86c.html

 

使用交叉表时,会遇到这种情况:

列非常多,行非常少,结果页面会自动分页。
(如果行非常多的话,页面比较饱满,一般也不需要特殊处理了)

于是出现了一页上只显示几行,却显示成很多页的情况。既不好看,又浪费纸张(如果打印的话)
问题产生了,能不能将这个换页的动作,限制在同一页上呢?
===========================================================
假设我有这样一个表,有两个字段: GSMC 公司名称 、 BMMC 部门名称。
 
用交叉表实现每个公司部门数目的纵向显示,一般我们会作出来这样的一个效果。
 
 

黄的标注的部分,就是换页的部分。
我们现在就以这个为样版,来做一下改造。

基本思路是:
将数据进行处理,现在一共有41个公司级别的数据,也就是有41个列。
我们要实现每10个做为一个换行,也就是会分为10,10,10,11四行。
交叉表是不能主动换行的,我们用分组来实现一个模拟换行。


那么,怎么要能分成4组呢?
注意:本文使用Oracle数据库完成。
1:首先整理数据,将原来的很多条,整理成41条汇总数据。

并且,根据我们的需要,进行编号。

2:以此为基础,制作一个新的普通报表。

 
3:做一个公式myGrp:

这个是关键,大家注意到,我们把每10个,切为一个标志位。
以公式myGrp进行分组

那么分组出来的数据如下图所示

好,我们就以这个为基础,做交叉表。
4:在组页眉上插入交叉表,抑制显示掉其他的节,如下图所示

ok,雏形就出来了。

至此,基本思路就实现完毕了,但是不好看,对吗?那进一步处理一下吧。
5:删除掉“组标题”,点中交叉表,在交叉表专家中,点“格式化网格线”,进入格线设置界面
 

设置最外面的几个边线的颜色为白色。 

设置完后,预览界面是这样的 

继续,点中交叉表,设置交叉表格式,设置其四个边都为“单线”
 

然后,再看,是这个样子吗?
 

后记:
1:本文并不是一个通用性的解决方案,仅对部分案例有效,希望大家能吃透这个原理。做更好的发挥。
2:我相信可能其他工具有更好的解决方法
3:即使用水晶报表,可能也有更好的方法。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值