以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]保存報表時如何不彈出[正在保存...]的窗口? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=68812) |
-- 作者:don -- 发布时间:2015/5/25 16:31:00 -- [求助]保存報表時如何不彈出[正在保存...]的窗口? 請教: Dim doc As New PrintDoc \'定义一个报表 Dim rt As New prt.RenderText \'定义一个文本对象 rt.Text = "Hello Foxtable" \'设置文本对象的内容 doc.Body.Children.Add(rt) \'将文本对象加入到报表 doc.SavePDF("C:\\aa\\Test.PDF") \'保存報表時如何不彈出[正在保存...]的窗口?
|
-- 作者:Bin -- 发布时间:2015/5/25 16:36:00 -- 自带函数,无法修改. 做不到呢 |
-- 作者:don -- 发布时间:2015/5/25 16:44:00 -- 這個彈出的窗口老大應該可以控制吧?! 90多行的數據>>>>生成PDF文件>>>>發送電郵---(差不多5分鐘無法動彈!,不斷彈出的又自行關閉的窗口占用大量時間)
|
-- 作者:大红袍 -- 发布时间:2015/5/25 17:12:00 -- 呃,测试了一下,暂时做不到。
1、doc不能多线程运行,也就是它在生成的工程中,是一定不能再做其它的操作的;不过发电邮,可以做异步发送。
2、如果确实很慢,你可以换一种思路,弄成短信猫的思路,单独用一台机器处理生成数据和发送电邮的功能。
3、如果要不显示,最多是这样变通一下,如
计划任务
Dim frm = Windows.Forms.Form.ActiveForm
按钮代码
Dim doc As New PrintDoc \'定义一个报表 MyTimers("计划1").Interval = 1 |
-- 作者:don -- 发布时间:2015/5/25 17:30:00 -- 多謝大紅袍! 試了方法3還是彈窗!
|
-- 作者:don -- 发布时间:2015/5/25 21:36:00 -- 能否一次保存批量生成的报表,而不是生成一个保存一个? Dim docs As New List(of PrintDoc )\'定义一个报表 Dim doc As PrintDoc \'定义一个报表 Dim rt As prt.RenderText \'定义一个文本对象 For n1 As Integer = 1 To 2 doc = New PrintDoc \'定义一个报表 rt = New prt.RenderText \'定义一个文本对象 rt.Text = "Hello Foxtable" & n1 \'设置文本对象的内容 doc.Body.Children.Add(rt) \'将文本对象加入到报表 Docs.Add(Doc) Next Docs.SavePDF("C:\\Test1.PDF","C:\\Test2.PDF") \'如能批量保存就OK!
[此贴子已经被作者于2015/5/25 21:36:43编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/5/25 21:38:00 -- 肯定是不可以的。 |