以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  窗口多次打印  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=27192)

--  作者:Neha
--  发布时间:2012/12/24 20:34:00
--  窗口多次打印
以下是引用lin_hailun在2012-11-28 9:33:00的发言:
 其实,是可以的,遍历复制Doc的所有对象,贴一段通用代码。

Dim doc As PrintDoc = e.Form.GernatePrintDoc()
Dim ls_Obj As New List(Of Object)
For Each c As Object In Doc.Body.Children
    Dim o As Object = c.clone()
    o.y = o.y.Value + 80   \'没有办法,试了很多,不能把窗口的高度转成unit类型,只能自己填写具体的值了
    ls_Obj.Add(o)
Next

For Each o As Object In ls_Obj
    Doc.body.Children.Add(o)
Next

doc.Preview()

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

1.出现如图的错误怎么解决,这应该是打印窗体中的line控件引起的

 

 

2.打印的次数怎么修改

 

3.table控件设置了最大打印行后也会有错误,怎么解决



此主题相关图片如下:搜狗截图121224_1.png
按此在新窗口浏览图片
[此贴子已经被作者于2012-12-24 20:41:50编辑过]

--  作者:lin_hailun
--  发布时间:2012/12/25 8:56:00
--  
 这样加减。

Dim doc As PrintDoc = e.Form.GernatePrintDoc()
Dim ls_Obj As New List(Of Object)
For Each c As Object In Doc.Body.Children
    Dim o As Object = c.clone()
    o.y = new C1.C1Preview.Unit(CStr(o.y.value + 80))\'没有办法,试了很多,不能把窗口的高度转成unit类型,只能自己填写具体的值了
    ls_Obj.Add(o)
Next

For Each o As Object In ls_Obj
    Doc.body.Children.Add(o)
Next

doc.Preview()

--  作者:lin_hailun
--  发布时间:2012/12/25 8:59:00
--  
 打印次数,你可以在外面再套一层循环

Dim doc As PrintDoc = e.Form.GernatePrintDoc()
Dim ls_Obj As New List(Of Object)
For i As Integer = 0 To 4
    For Each c As Object In Doc.Body.Children
        Dim o As Object = c.clone()
        o.y = new C1.C1Preview.Unit(CStr(o.y.value + 80 * i))\'没有办法,试了很多,不能把窗口的高度转成unit类型,只能自己填写具体的值了
        ls_Obj.Add(o)
    Next
Next

For Each o As Object In ls_Obj
    Doc.body.Children.Add(o)
Next

doc.Preview()

--  作者:lin_hailun
--  发布时间:2012/12/25 9:00:00
--  
 第三个,没发现报错。
--  作者:Neha
--  发布时间:2012/12/25 12:08:00
--  
以下是引用lin_hailun在2012-12-25 9:00:00的发言:
 第三个,没发现报错。

代码改了还是报错

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


--  作者:lin_hailun
--  发布时间:2012/12/25 13:21:00
--  
以下是引用Neha在2012-12-25 12:08:00的发言:

代码改了还是报错





这个是 line 控件的问题,去掉这个控件。

--  作者:Neha
--  发布时间:2012/12/25 15:37:00
--  
以下是引用lin_hailun在2012-12-25 13:21:00的发言:


这个是 line 控件的问题,去掉这个控件。

图片点击可在新窗口打开查看去掉 line 控件还是报错,就是最大行数的问题,不知道怎么改


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

--  作者:lin_hailun
--  发布时间:2012/12/25 15:51:00
--  
 因为你设置至少行数以后,y的值就是Auto,无法转换成数值,对于这种,你还是乖乖计算y的值吧。
--  作者:Neha
--  发布时间:2012/12/25 17:09:00
--  
以下是引用lin_hailun在2012-12-25 15:51:00的发言:
 因为你设置至少行数以后,y的值就是Auto,无法转换成数值,对于这种,你还是乖乖计算y的值吧。

明白了,谢谢