以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于专业报表的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=98476)

--  作者:jeeter
--  发布时间:2017/3/30 14:14:00
--  关于专业报表的问题
专业报表使用SavePDF方法在保存为PDF的时候很卡!!

这是怎么回事? 有办法解决吗?


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目7.foxdb











[此贴子已经被作者于2017/3/31 10:49:20编辑过]

--  作者:jeeter
--  发布时间:2017/3/30 14:40:00
--  
图片点击可在新窗口打开查看
--  作者:jeeter
--  发布时间:2017/3/30 15:52:00
--  
图片点击可在新窗口打开查看来人啊
--  作者:jeeter
--  发布时间:2017/3/30 17:02:00
--  
图片点击可在新窗口打开查看
--  作者:有点色
--  发布时间:2017/3/30 17:13:00
--  

取决于你报表的大小。执行下面的代码,保存也很卡?

 

Dim fl As String = "c:\\data\\test.pdf"
Dim doc  As New PrintDoc
Dim ra As New prt.RenderArea
doc.PageSetting.Width = 150
doc.PageSetting.Height = 80
ra.Width = "Parent.Width"
ra.Height = "Parent.Height"
ra.Style.Borders.All = New prt.Linedef(5, Color.Red)
doc.Body.Children.Add(ra)
doc.SavePDF(fl) \'保存为PDF文件
Dim Proc As New Process \'打开PDF文件
Proc.File = fl
Proc.Start()


--  作者:jeeter
--  发布时间:2017/3/30 17:27:00
--  
这个代码不卡,但是我这边的报表比这个复杂

图片点击可在新窗口打开查看要等3,4分钟 



还有论坛怎么上传图片??? 



--  作者:有点色
--  发布时间:2017/3/30 19:09:00
--  

 如果太慢的话,那就尝试用多线程来做,让其慢慢生成。

 

 具体上传测试项目 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78

 


--  作者:jeeter
--  发布时间:2017/3/31 10:18:00
--  
这个要抽取一个例子出来,有点难,这个项目是以前同事做的,我现在 在维护,里面的代码有点乱,

我试试看能不能精简一个列子出来,可以的话  再联系你

--  作者:有点色
--  发布时间:2017/3/31 10:22:00
--  

 参考下多线程的方法

 

http://www.foxtable.com/bbs/query.asp?keyword=%B6%E0%CF%DF%B3%CC&boardid=0&sType=7&stable=Dv_bbs1&submit=%D5%BE%C4%DA%CB%D1%CB%F7

 


--  作者:jeeter
--  发布时间:2017/3/31 10:55:00
--  
已上传附件,你可以看看,谢谢

列子是保存123行,现实中行数会更多

多线程也有考虑过,但是多线程并不能缩短保存时间,只是界面可以响应用户

现在同事在使用这个保存功能的情况是:保存完,就要发送给别人,让她等待,这不现实,她也不肯
[此贴子已经被作者于2017/3/31 10:55:32编辑过]