水晶报表分组分页中同一组的页码显示,该怎么处理

水晶报表,多个表通过同一列进行分组,该如何解决 - .NET报表当前位置:& &&&水晶报表,多个表通过同一列进行分组,该如何解决水晶报表,多个表通过同一列进行分组,该如何解决&&网友分享于:&&浏览:29次水晶报表,多个表通过同一列进行分组需求是这样的,从数据库中查询出来8张表,而这八张表有一个共同的字段现在希望这八张表通过这一个共有字段进行分组如下:(列举两张表的例子)日期
位置 机器 产品编号 类别 16:01
NULL 16:01
NULL 16:01
收现金: 500
收信用卡: 200
位置 机器 产品编号 类别 16:27
洗涤用品 16:27
收现金: 200
收信用卡: 20
上面内容来自两张表,请问下,这两张表怎么 通过
位置 这个字段进行分组呢,两个表中都有位置(实际情况,我想通过8张表分组,这8张表都有位置这个字段)各位高手帮帮忙------解决方案--------------------
select * from (select a,b,c,d,1 e from test1union allselect a,b,c,d,2 e from test2union allselect a,b,c,d,3 e from test3 ) tmp order by e,a1 2 3 那个是每个表要放在页面的顺序如果你还要把位置信息加进来的话select tmp.*,w.* from (select a,b,c,d,1 e from test1union allselect a,b,c,d,2 e from test2union allselect a,b,c,d,3 e from test3 ) tmp ,wzxx wwhere tmp.a = w.id order
by tmp.e,tmp.a这样会有几个冗余列,你想要位置信息,直接去冗余列里面取就好了。要用union all连接,不要用union
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有本帖子已过去太久远了,不再提供回复功能。水晶报表分组分页且每页最多显示N条记录
命题整理如下:报表使用了分组,一个组的数据会跨好几页,要单独显示某组显示到【第几页/共几页】效果类似于:这是一个综合工程,我们要逐步来拆解一下。本文使用水晶报表2008操作,其余版本类似。1:首先,是按照某个字段来分组这个就不多说了,我用的是水晶报表自带示例库的产品表,用颜色字段进行分组。2:每页显示5行数据,且每页的上都要显示组页眉,不同的组不能显示在同一页上。也就是组和组之间是的分离(1)每页显示5行设置如果是CR2008之前的版本,使用公式 RecordNumber Mod 5=0&&(2)每组上都要显示组页眉(3)每个组单独占一页,不混合显示。也就是1页显示5行,如果组a有1行,组b有2行,他们要分别占据1页,而不是合在1页上显示。如果是CR2008之前的版本,使用公式 GroupNumber Mod 1=0&&3:使用运行时总和为每组数据单独编号把这个运行总和字段做到模板上看看效果。分别拖到详细资料节和组页眉可以看到,放在组页眉上的序号,其实就是在该页上第一条记录在组内的序号。4:组内分页基本原理现在我们能拿到单独的组内序号了,那么,怎么去用来分页呢。想一下,假设我们每组记录数目为N(当然,N是变化的),如果存在多页的话,因为是5行一分页那么对一个组来说,每页第一条的序号分别为1、6、11.。也就是【5的倍数+1】。那么我们的公式其实就出来了,我们以每页组页眉上的那条为基准,也就是每页的第一条为基准,序号 除以 5,取整再 +1 即可。公式如下针对以的代码,找不到Roundup,重写:numbervar x1;numbervar x2;numbervar p1;numbervar p2;//x1是每个组的数据条数&x1:= &Count ({
DataTable3&.Job_No},{
DataTable3&.Job_No});//得到总页码p1:=round(x1/16+0.4);//得到当前行组内序号,其实就是换后第一条的序号x2:={#RTotal0};//用序号外以每页的条数16,得到当前页码p2:=round(x2/16+0.4);if p2=0 then p2:=1;totext(p2,0) +' / ' +totext(p1,0)&效果如下公式中的几个点特别说明一下Count(字段,分组字段) 表示组小计计数RoundUp(x)是向上取整,比如x=5则为5,5.1则为6.
&&最后修改于
请各位遵纪守法并注意语言文明本帖子已过去太久远了,不再提供回复功能。[转]水晶报表组内分页
本文为:所作。
命题整理如下:
报表使用了分组,一个组的数据会跨好几页,要单独显示某组显示到【第几页/共几页】
效果类似于:
这是一个综合工程,我们要逐步来拆解一下。
本文使用水晶报表2008操作,其余版本类似。
1:首先,是按照某个字段来分组
这个就不多说了,我用的是水晶报表自带示例库的产品表,用颜色字段进行分组。
2:每页显示5行数据,且每页的上都要显示组页眉,不同的组不能显示在同一页上。也就是组和组之间是的分离
(1)每页显示5行设置
如果是CR2008之前的版本,使用公式 RecordNumber Mod
(2)每组上都要显示组页眉
(3)每个组单独占一页,不混合显示。
也就是1页显示5行,如果组a有1行,组b有2行,他们要分别占据1页,而不是合在1页上显示。
如果是CR2008之前的版本,使用公式 GroupNumber Mod
3:使用运行时总和为每组数据单独编号
把这个运行总和字段做到模板上看看效果。分别拖到详细资料节和组页眉
可以看到,放在组页眉上的序号,其实就是在该页上第一条记录在组内的序号。
4:组内分页基本原理
现在我们能拿到单独的组内序号了,那么,怎么去用来分页呢。
想一下,假设我们每组记录数目为N(当然,N是变化的),如果存在多页的话,因为是5行一分页
那么对一个组来说,每页第一条的序号分别为1、6、11.。
也就是【5的倍数+1】。
那么我们的公式其实就出来了,
我们以每页组页眉上的那条为基准,也就是每页的第一条为基准,序号 除以 5,取整再 +1 即可。
公式中的几个点特别说明一下
Count(字段,分组字段) 表示组小计计数
RoundUp(x)是向上取整,比如x=5则为5,5.1则为6.
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 水晶报表非绑定分组 的文章

 

随机推荐