以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]打印窗口的一些问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73561)

--  作者:猩猩与土豆
--  发布时间:2015/8/21 15:20:00
--  [求助]打印窗口的一些问题
窗口界面图


图片点击可在新窗口打开查看此主题相关图片如下:窗口.png
图片点击可在新窗口打开查看

打印页面图


图片点击可在新窗口打开查看此主题相关图片如下:dayin.png
图片点击可在新窗口打开查看


请问:
1、窗口下方有送货人签字、送货时间、收货人签字、收货时间四项内容,可不可以让这四个内容在窗口上不显示,打印的时候再显示呢?
2、窗口里的关联表在打印的时候分成了两张纸,要怎么弄在一张纸上啊??


--  作者:大红袍
--  发布时间:2015/8/21 15:29:00
--  

1、生成打印之前,把它们显示出来;

 

e.form.controls("label1").Visible = true

Dim doc As PrintDoc = e.Form.GernatePrintDoc()

doc.Preview()

e.form.controls("label1").Visible = False

 

2、控制其宽度

 

Dim doc As PrintDoc = e.Form.GernatePrintDoc()
For Each c As object In doc.Body.Children
    If c.Gettype.Name Like "*table*" Then
        Dim rt As prt.RenderTable = c
        rt.Width = 50
    End If
Next
doc.Preview


--  作者:猩猩与土豆
--  发布时间:2015/8/21 16:27:00
--  

1、生成打印之前,把它们显示出来;

 

e.form.controls("label1").Visible = true

Dim doc As PrintDoc = e.Form.GernatePrintDoc()

doc.Preview()

e.form.controls("label1").Visible = False


这个没有用啊,这代码是加在打印按钮的click事件里么??


--  作者:大红袍
--  发布时间:2015/8/21 16:28:00
--  
开始的隐藏,打印前显示出来。
--  作者:猩猩与土豆
--  发布时间:2015/8/21 16:38:00
--  
可是在设定宽度的时候就已经定义了这个:


Dim doc As PrintDoc = e.Form.GernatePrintDoc()



--  作者:大红袍
--  发布时间:2015/8/21 16:40:00
--  

两端代码合并起来

 

e.form.controls("label1").Visible = true

Dim doc As PrintDoc = e.Form.GernatePrintDoc()
For Each c As object In doc.Body.Children
    If c.Gettype.Name Like "*table*" Then
        Dim rt As prt.RenderTable = c
        rt.Width = 50
    End If
Next
doc.Preview

e.form.controls("label1").Visible = False

 


--  作者:猩猩与土豆
--  发布时间:2015/8/21 16:58:00
--  
我之前试过没效果啊
--  作者:大红袍
--  发布时间:2015/8/21 16:59:00
--  

什么效果没有?

 

带不可能无效,做例子上来。


--  作者:猩猩与土豆
--  发布时间:2015/8/24 9:12:00
--  
你教我的这个方法是打开窗口的时候送货人签字、送货时间、收货人签字、收货时间四项内容还是显示的,在点击打印订单按钮然后关掉打印预览页面之后那四个label才不显示,然后重新打开这个窗口这四个label还是显示的,我想做的是在打开窗口的时候这四个不出现,等打印预览的时候再出现,可以实现么??
--  作者:大红袍
--  发布时间:2015/8/24 9:42:00
--  

呃,你要学会变通,你可以在afterLoad事件把控件隐藏啊。

 

e.form.controls("label1").Visible = False