找回密码
 立即注册

QQ登录

只需一步,快速开始

adolfgzb
初级会员   /  发表于:2021-2-7 16:33  /   查看:6170  /  回复:14
本帖最后由 adolfgzb 于 2021-2-7 16:48 编辑

                frmShowView.Viewer1.Document = rpt.Document
                rpt.Document.Pages.AddRange(rpt1.Document.Pages())
                rpt.Document.Pages.AddRange(rpt2.Document.Pages())
程序是通过AddRange处理把几张票加在一起预览、印刷。
数据量小的时候没有问题,数据量大的时候,比如需要add进去的rpt1或者rpt2有六七千页的时候,中间就会不时出现空白页。

单独印刷rpt1或者rpt2的时候,没有空白页,数据都是正常显示的。

请问这是什么原因啊?是工具问题吗?

补充一点:多运行几次,空白页显示的位置还是不同的。不如第一次第100页~103页显示空白,第二次这几页又正常显示,106页~120页显示空白。
感觉这个也有一定的随机性,比较奇怪

14 个回复

正序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2021-2-10 15:03:28
15#
adolfgzb 发表于 2021-2-10 10:03
dof 你好

那就是说生成报表完了之后,关闭预览窗体之前也都是不能释放内存的。

好的
回复 使用道具 举报
adolfgzb
初级会员   /  发表于:2021-2-10 10:03:59
14#
dof 发表于 2021-2-10 09:33
当前报表生产完之前应该无法释放,释放了这个报表也就销毁了。
不过当你关闭预览报表的窗体,再来销毁这 ...

dof 你好

那就是说生成报表完了之后,关闭预览窗体之前也都是不能释放内存的。
好吧,这个了解了。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2021-2-10 09:33:40
13#
adolfgzb 发表于 2021-2-9 15:19
你好,我试了一下搜索到的

预览时调用这个不行,如果显示到相应rpt的话,会报错的。

当前报表生产完之前应该无法释放,释放了这个报表也就销毁了。
不过当你关闭预览报表的窗体,再来销毁这个对象倒是一个可以尝试的方法。
回复 使用道具 举报
adolfgzb
初级会员   /  发表于:2021-2-9 15:19:38
12#
你好,我试了一下搜索到的
  1. rpt.Document.Dispose()
  2. rpt.Dispose()
  3. rpt=Nothing
复制代码

预览时调用这个不行,如果显示到相应rpt的话,会报错的。
是不是预览的时候不能释放内存啊?那多次预览的话,有什么办法解决内存溢出问题啊?
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2021-2-8 14:06:27
11#
这个暂时没有其他可用的Workaround,因为您的报表数据量比较大,建议升级版本。或者及时销毁报表对象释放内存。
回复 使用道具 举报
adolfgzb
初级会员   /  发表于:2021-2-8 13:19:55
10#
上面的办法不行,AddRange的时候用clone内容,会导致内存溢出System.OutOfMemoryException
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2021-2-8 12:09:20
9#
好的您在尝试下。
回复 使用道具 举报
adolfgzb
初级会员   /  发表于:2021-2-8 11:11:27
8#
你好,我试了把CacheToDisk  去掉,大数据的时候run会直接内存溢出,我再试下优化看看吧。
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2021-2-8 09:55:53
7#
您好
建议升级版本,因为这些问题是在较早的AR7中出现的,已经在新版中修复了。
关于空白页的Workaround:
1) 不设置rpt2 的 CacheToDisk .
2) 使用 Clone方法,来复制 Pages(Page) to rpt1.
rpt1.Document.Pages.AddRange(rpt2.Document.Pages.Clone() as PagesCollection);

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