以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教:怎样在连续套打中日期为空,不要显示0000-00-00  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76876)

--  作者:1327853827
--  发布时间:2015/11/6 16:20:00
--  请教:怎样在连续套打中日期为空,不要显示0000-00-00

连续套打

怎样在连续套打中日期为空,不要显示0000-00-00?

如果要连续套打,必须在打印每一个单据后,能够自动换页,准备套打下一个单据。
因为套打中的对象都是直接指定坐标后加入到到表中的,所以我们只能通过插入RenderEmpty来实现换页。
下面的代码,套打选定行的员工资料卡,请在员工表中选定多行进行测试:

Dim doc As New PrintDoc \'定义一个报表
Dim
rx As prt.RenderText \'定义一个文本对象
Dim
rm As prt.RenderImage \'定义一个图形队形
Dim
Currow As Row
Dim
tbl As Table = Tables("员工")
For
i as Integer = tbl.TopRow To tbl.BottomRow
    CurRow = tbl.rows(i)

    Dim
rep As New prt.RenderEmpty \'定义一个新的空对象
    rep.BreakBefore = prt.BreakEnum.Page
\'打印前换页
    doc.Body.Children.Add(rep )
\'加入到报表中

    rx = new prt.RenderText
    rx.Text = CurRow(
"姓名")
    rx.x =
51
    rx.y =
36
    doc.body.Children.Add(rx)

    rx = new prt.RenderText
    rx.Text = CurRow(
"出生日期")
    rx.x =
109
    rx.y =
36
    doc.body.Children.Add(rx)

    rx = new prt.RenderText
    rx.Text = CurRow(
"部门")
    rx.x =
51
    rx.y =
43
    doc.body.Children.Add(rx)

    rx = new prt.RenderText
    rx.Text = CurRow(
"雇佣日期")
    rx.x =
109
    rx.y =
43
    doc.body.Children.Add(rx)

    rx = new prt.RenderText
    rx.Text = CurRow(
"性别")
    rx.x =
51
    rx.y =
50
    doc.body.Children.Add(rx)

    rx = new prt.RenderText
    rx.Text = CurRow(
"职务")
    rx.x =
109
    rx.y =
50
    doc.body.Children.Add(rx)
    rx = new prt.RenderText
    rx.Text = CurRow(
"城市")
    rx.x =
51
    rx.y =
57

    doc.body.Children.Add(rx)
    rx = new prt.RenderText
    rx.Text = CurRow(
"邮政编码")
    rx.x =
109
    rx.y =
57
    doc.body.Children.Add(rx)

    rx = new prt.RenderText
    rx.Text = CurRow(
"地址")
    rx.x =
51
    rx.y =
63
    doc.body.Children.Add(rx)

    rx = new prt.RenderText
    rx.Text = CurRow(
"家庭电话")
    rx.x =
51
    rx.y =
69.5
    doc.body.Children.Add(rx)

    rx = new prt.RenderText
    rx.Text = CurRow(
"办公电话")
    rx.x =
109
    rx.y =
69.5
    doc.body.Children.Add(rx)

    rx = new prt.RenderText
    rx.Text = CurRow(
"备注")
    rx.x =
26.5
    rx.y =
76
    rx.Width=
163
    doc.body.Children.Add(rx)

    rm= New prt.RenderImage
    rm.Height =
38
    rm.Width =
34
    rm.Image = GetImage(CurRow(
"照片"))
    rm.x=
149.5
    rm.y =
36
    doc.body.Children.Add(rm)

Next

Doc.Preview()
\'预览报表




--  作者:狐狸爸爸
--  发布时间:2015/11/6 17:00:00
--  

if CurRow.Isnull("雇佣日期") = False Then

   rx = new prt.RenderText
   rx.Text = CurRow("雇佣日期")
   rx.x =
109
   rx.y =
43
   doc.body.Children.Add(rx)

End if


--  作者:1327853827
--  发布时间:2015/11/6 17:20:00
--  
谢谢指教,问题解决了


--  作者:荟美绘姿
--  发布时间:2015/11/7 21:45:00
--  
顶,学习一下下