Foxtable(狐表)用户栏目专家坐堂 → [求助]保存報表時如何不彈出[正在保存...]的窗口?


  共有2413人关注过本帖树形打印复制链接

主题:[求助]保存報表時如何不彈出[正在保存...]的窗口?

帅哥哟,离线,有人找我吗?
don
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
[求助]保存報表時如何不彈出[正在保存...]的窗口?  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/25 16:36:00 [只看该作者]

自带函数,无法修改. 做不到呢

 回到顶部
帅哥哟,离线,有人找我吗?
don
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2015/5/25 16:44:00 [只看该作者]

這個彈出的窗口老大應該可以控制吧?!

90多行的數據>>>>生成PDF文件>>>>發送電郵---(差不多5分鐘無法動彈!,不斷彈出的又自行關閉的窗口占用大量時間)

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/25 17:12:00 [只看该作者]

呃,测试了一下,暂时做不到。

 

1、doc不能多线程运行,也就是它在生成的工程中,是一定不能再做其它的操作的;不过发电邮,可以做异步发送。

 

2、如果确实很慢,你可以换一种思路,弄成短信猫的思路,单独用一台机器处理生成数据和发送电邮的功能。

 

3、如果要不显示,最多是这样变通一下,如

 

计划任务

 

Dim frm = Windows.Forms.Form.ActiveForm
If frm IsNot Nothing Then
    If frm.Name = "Class242" AndAlso frm.Text = "生成进度" Then
        frm.Hide
        application.Doevents
        MyTimers("计划1").Enabled = False
    End If
End If

 

按钮代码

 

Dim doc As New PrintDoc '定义一个报表
Dim rt As New prt.RenderText '定义一个文本对象
rt.Text = "Hello Foxtable" '设置文本对象的内容
doc.Body.Children.Add(rt) '将文本对象加入到报表

MyTimers("计划1").Interval = 1
MyTimers("计划1").Enabled = True
doc.SavePDF("C:\Test.PDF") 
MyTimers("计划1").Enabled = False


 回到顶部
帅哥哟,离线,有人找我吗?
don
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2015/5/25 17:30:00 [只看该作者]

多謝大紅袍!

試了方法3還是彈窗!

 回到顶部
帅哥哟,离线,有人找我吗?
don
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/25 21:38:00 [只看该作者]

 肯定是不可以的。

 回到顶部