找回密码
 立即注册

QQ登录

只需一步,快速开始

soulxj2009

注册会员

3

主题

21

帖子

92

积分

注册会员

积分
92

活字格认证

最新发帖
soulxj2009
注册会员   /  发表于:2016-9-9 17:43  /   查看:4797  /  回复:9
本帖最后由 Lenka.Guo 于 2016-9-13 11:21 编辑

手动控制明细部换页时,因为明细部每行的高度不一致,
所以没法确定到那一行就换页。

附件图片的说明:
红线以下,
footer部的区域,数字4代表明细部第4行所对应的图片,是和图片一起显示的。
红线以上,
detail部的区域,在StandardSTReportAddPointPic.cs的detail_BeforePrint事件中,
计算当前行加载后,报表上剩余的空间还够不够显现下一行明细,不够就换页。
这个处理中,因为没法获得下一行明细的高度,所以会出现附件图片的情况。
如:
我们设置了一个通用行高0.5F(不知道设置多少好。。。),
第6行时,报表上剩余的空间为0.6F时,不换页,
第7行时,行高为1F,剩余的空间不够了,所以显示完第7行后换页,
第7行高超过了剩余空间,所以占用了footer部的区域的一部分。

本帖子中包含更多资源

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

x

9 个回复

倒序浏览
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-9-12 13:47:38
沙发
本帖最后由 Lenka.Guo 于 2016-9-12 13:48 编辑

理解您的意思区域中有多行,但因为 内容不一样,所以导致行高不一样。
现在想实现的是,当显示最后一行时,先判断剩余空间,是否能显示完内容,如果显示不完全则 换页显示?

想跟您确认的是:
明细中每行的高度是由什么决定的???? 内容?

能否按照最高的高度来,固定每行的高度
回复 使用道具 举报
soulxj2009
注册会员   /  发表于:2016-9-12 14:07:39
板凳
Lenka.Guo 发表于 2016-9-12 13:47
理解您的意思区域中有多行,但因为 内容不一样,所以导致行高不一样。
现在想实现的是,当显示最后一行时 ...

谢谢版主的回复。

您的理解没有问题。

明细中每行的高度是由内容较多的那一列决定的。(*报表自己指定的)
需求要求明细部的列宽度可以指定。
所以在报表构造方法,根据参数设置了每列宽度。

然后detail_BeforePrint发生之前,
报表自己根据之前指定了列宽和内容,
已经把当前行的每列(每个TextBox)的高度设置好了。
(*报表自己指定的,TextBox里面不留一丝余白)

在detail_BeforePrint里面,
我们把每个TextBox的高度统一成最高的那个TextBox的高度。

不能按照最高的高度来,固定每行的高度。
由于内容不一致,每行的高度相差非常多(高度可能0.2F到5F之间)。
以最高行来固定每行的高度,某些行内部将留白很多,
这与我们的需求矛盾了。
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-9-13 11:21:04
地板
好的,理解您的需求了,今天转交给开发团队。

制作Demo,Detail 行高根据内容动态设置,显示最后一行判断时,判断剩余空间。
回复 使用道具 举报
soulxj2009
注册会员   /  发表于:2016-9-13 11:29:04
5#
Lenka.Guo 发表于 2016-9-13 11:21
好的,理解您的需求了,今天转交给开发团队。

制作Demo,Detail 行高根据内容动态设置,显示最后一行判断 ...

好的,谢谢!
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-9-13 11:46:19
6#

有回复之后立即回复您
回复 使用道具 举报
soulxj2009
注册会员   /  发表于:2016-9-16 13:37:49
7#
Lenka.Guo 发表于 2016-9-13 11:46
有回复之后立即回复您

实在不好意思,
不知道开发团队们解决得怎么样。
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-9-18 11:03:53
8#
您好,
通过与开发团队沟通确认后,无法提供一个通用的解决方法来满足您的需求。建议您:
1. 设置KeepTogether 属性为True. 但是可能会在最后一行和PageFooter之间存在空白。
2. 提供了一个Wokraround 计算每行的高度,并根据详细区域的总高度来,动态修改PageFooter的高度。这个针对日文版的一个文档信息: http://www.grapecity.com/tools/s ... detail.asp?id=24090
您可以在这个网页中下载一个Sample.





回复 使用道具 举报
soulxj2009
注册会员   /  发表于:2016-9-22 08:16:22
9#
Lenka.Guo 发表于 2016-9-18 11:03
您好,
通过与开发团队沟通确认后,无法提供一个通用的解决方法来满足您的需求。建议您:
1. 设置KeepToge ...

好的
谢谢您的帮助。
我们再从需求这边想想法子。
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-9-22 09:07:18
10#
soulxj2009 发表于 2016-9-22 08:16
好的
谢谢您的帮助。
我们再从需求这边想想法子。

好的,辛苦了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部