找回密码
 立即注册

QQ登录

只需一步,快速开始

893559686

初级会员

13

主题

40

帖子

345

积分

初级会员

积分
345

微信认证勋章

893559686
初级会员   /  发表于:2017-2-7 08:51  /   查看:7846  /  回复:10


实现效果:RDL报表每页都显示表头

问题:设置了Table 的属性 [RepeatHeaderOnNewPage] 为 True 了,表头还是没有在每页显示,是因为用了三个Talbe拼起来,两个表头Table,数据没有撑满一页,所以才没有在其他页显示表头吗?该如何解决这个问题?

最终报表样子:



报表设计:




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

10 个回复

倒序浏览
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-2-7 09:52:34
沙发
表格如果数据不满一页的话,是无法控制在多页显示重复显示表头的。

如果想保证Table1和Table2 在每一页都显示,建议先将Table1和Table2合并成一个Table4,然后将Table2放置到另外一层中【Layer】,设置Table4的详细数据行与Table3的数据量大致相同(任意赋一个多值的字段,以保证与Table3的行数相似,从而产生的页数也相同),在设置Table4的详细数据行隐藏(设置显示颜色为白色等方法)
回复 使用道具 举报
893559686
初级会员   /  发表于:2017-2-7 15:25:07
板凳
Lenka.Guo 发表于 2017-2-7 09:52
表格如果数据不满一页的话,是无法控制在多页显示重复显示表头的。

如果想保证Table1和Table2 在每一页 ...


您好,按照您给的建议实现如下:
1. Table1 和 Table2 合并成一个Table4(红色框部分),然后将Table4放在Layer1中,绑定数据集 D1,设置RepeatHeaderOnNewPage=True;


2.第一页没有问题,但第二页表头和table3数据重复了,出现效果如下:

又搞不定了,求帮忙。

//**************************************

另外还有一个其他问题求教,如下图:






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-2-7 15:47:39
地板
问题收到了,正在测试中,刚提出【层】忽略了表格会从第二页顶部开始渲染。这个确实还比较难处理。
回复 使用道具 举报
893559686
初级会员   /  发表于:2017-2-7 15:55:27
5#
Lenka.Guo 发表于 2017-2-7 15:47
问题收到了,正在测试中,刚提出【层】忽略了表格会从第二页顶部开始渲染。这个确实还比较难处理。

谢谢,麻烦了,期待您的好消息
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-2-7 16:44:58
6#
本帖最后由 Lenka.Guo 于 2017-2-7 16:47 编辑

关于表头在每页重复显示
两种方法:
第一种
1. 在表格详细数据层, 添加BandedList 控件,并插入分组,将表格详细数据放到Group_Header
2.新建层,将表头放在 BandedList1_Header (大概)位置。

测试模板(不包含数据):



第二种:

将所有需要重复显示的表头以TextBox放在页眉中。需要显示在表头的字段,通过报表参数显示在页眉。



关于阴影问题
》》 我在这边按照您的操作重现问题,如果不拖拽不影响表格的显示,所以就在出现阴影的时候只要不影响显示,我们就先不进行拖拽操作

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
893559686
初级会员   /  发表于:2017-2-8 10:55:54
7#
Lenka.Guo 发表于 2017-2-7 16:44
关于表头在每页重复显示
两种方法:
第一种



您好,还有一些问题需要请教:

A.方法一问题:将Activereport提供的例子中的数据库连接上,报表显示如下




B.方法二是可以解决的问题的,但是表头内容比较多, 拼接起来比较麻烦,线的对齐也需要不断调整,如果没有更好的方案,可以使用方法二。



//***************************************************************

C.关于BandedList控件的使用问题:


//****************************************************************
D.关于阴影问题


//****************************************************************
E.一个报表,表头比较复杂,需要多个表格进行拼凑,怎样绘制比较方便(很容易对齐,不需要过多调整)?




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-2-8 11:06:54
8#
本帖最后由 Lenka.Guo 于 2017-2-8 11:10 编辑
893559686 发表于 2017-2-8 10:55
您好,还有一些问题需要请教:

A.方法一问题:将Activereport提供的例子中的数据库连接上,报表显 ...

A:
中间的间隙可以通过调整 BandList 组头的高度与表格行高一致来避免。(我给的示例只是一个简单的功能验证示例,具体的细节需要咱们那边细化)

第四页没有显示表头, 能保证表头在每页显示的原理是: 表头Table4的详细数据行数和  表格详细数据行数,在报表展示时能够产生相同数量的页,才会保证每页显示表头,第四页没有显示表头,是因为表头Table4的详细数据行数不够多,这个需要咱们那边自行控制


B 方法:
是最简单和直观的方法

C:这个是有关BandList 控件的结构及用法问题,可参考博客来学习BandList控件,上楼提供的模板示例,点击属性就可以看到,不显示BandList的footer等区域是因为行高设置为0;http://blog.gcpowertools.com.cn/post/ActiveReports-DrillDown.aspx

D: 阴影问题
可在默认的列宽上面。添加相关数量的列,再调整列宽。可以避免阴影

E: 多表格拼凑
只能提前计算好,每个表格的宽度和高度,然后在进行拼凑,或者通过调整Size或Location属性,这样比较好控制。没有更简单和快捷的方法。

回复 使用道具 举报
893559686
初级会员   /  发表于:2017-2-8 11:31:30
9#
Lenka.Guo 发表于 2017-2-8 11:06
A:
中间的间隙可以通过调整 BandList 组头的高度与表格行高一致来避免。(我给的示例只是一个简单的功能 ...

OK, 谢谢
回复 使用道具 举报
893559686
初级会员   /  发表于:2017-2-8 11:31:37
10#
Lenka.Guo 发表于 2017-2-8 11:06
A:
中间的间隙可以通过调整 BandList 组头的高度与表格行高一致来避免。(我给的示例只是一个简单的功能 ...

OK, 谢谢
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部