以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  PRT 连续套打,贴上代码,请问如何绑定模板文件呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47060)

--  作者:李孝春
--  发布时间:2014/3/4 9:20:00
--  PRT 连续套打,贴上代码,请问如何绑定模板文件呢?
PRT 连续套打,贴上代码,请问如何绑定模板文件呢? 下面的代码如何绑定模板文件呢?
假设模板文件为10.prt  或者10.doc

连续套打
如果要连续套打,必须在打印每一个单据后,能够自动换页,准备套打下一个单据。
因为套打中的对象都是直接指定坐标后加入到到表中的,所以我们只能通过插入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)

    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() \'预览报表

--  作者:Bin
--  发布时间:2014/3/4 9:35:00
--  
请上例子.
--  作者:李孝春
--  发布时间:2014/3/4 10:06:00
--  例子,问题要求如图!
例子,问题要求如图!
问题:RFT预览怎么和我设计时候的格式不一样
        如何实现当复选框选择后进行连续预览及打印
        如何实现不预览而直接打印
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:rtf预览.rar

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

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


--  作者:李孝春
--  发布时间:2014/3/4 10:15:00
--  这个是论坛查找的代码,可以解决定义模板及数据问题,但是出现模板和设计初的格式不一样,求解

Dim tbl As Table = Tables("资料")

Dim n As Integer= (tbl.BottomRow-tbl.TopRow)+1 Mod 2

n = n Mod 2

Dim m As Integer

For i As Integer = tbl.TopRow To tbl.BottomRow

    If n=1 AndAlso i=tbl.BottomRow Then

        Dim rp As New RtfPrinter("c:\\data\\5.rtf")

        rp.Replace("{出生日期}", Format(cdate(Tables("资料")(i,"出生日期")),"yyyyMMdd"))

        rp.Replace("{姓名}",Tables("资料")(i,"姓名") )

        rp.Replace("{民族}",Tables("资料")(i,"民族"))

        rp.Replace("{日期}",Format(cdate(Tables("资料")(i,"开始时间")),"yyyyMMdd") )

        rp.Replace("{单位}",Tables("资料")(i,"单位"))

        rp.Replace("{原籍}",Tables("资料")(i,"现居地"))

        rp.Replace("{工作开始}",Format(cdate(Tables("资料")(i,"工作开始")),"yyyyMMdd") )

        rp.Replace("{工作结束}",Format(cdate(Tables("资料")(i,"工作结束")),"yyyyMMdd") )

        rp.Replace("{工龄}",Tables("资料")(i,"工龄") )

        rp.Replace("{工种}",Tables("资料")(i,"工种"))

        rp.Replace("{时间}",Tables("资料")(i,"时期") )

        rp.Replace("{奖金}",Tables("资料")(i,"奖金"))

        rp.Replace("{累计}",Tables("资料")(i,"累计"))

        rp.Replace("{当年}",Tables("资料")(i,"当年"))

        rp.Replace("{职业}",Tables("资料")(i,"职业"))

        rp.Replace("{资料时间}",Tables("资料")(i,"资料"))

        rp.Replace("{文化程度}",Tables("资料")(i,"文化程度"))

        rp.Preview()        

    Else

        Dim rp As New RtfPrinter("c:\\data\\5.rtf")

        rp.Replace("{出生日期}", Format(cdate(Tables("资料")(i,"出生日期")),"yyyyMMdd"))

        rp.Replace("{姓名}",Tables("资料")(i,"姓名") )

        rp.Replace("{民族}",Tables("资料")(i,"民族"))

        rp.Replace("{日期}",Format(cdate(Tables("资料")(i,"开始时间")),"yyyyMMdd") )

        rp.Replace("{单位}",Tables("资料")(i,"单位"))

        rp.Replace("{原籍}",Tables("资料")(i,"原籍"))

        rp.Replace("{工作开始}",Format(cdate(Tables("资料")(i,"工作开始")),"yyyyMMdd") )

        rp.Replace("{工作结束}",Format(cdate(Tables("资料")(i,"工作结束")),"yyyyMMdd") )

        rp.Replace("{工龄}",Tables("资料")(i,"工龄") )

        rp.Replace("{工种}",Tables("资料")(i,"工种"))

        rp.Replace("{时间}",Tables("资料")(i,"时期") )

        rp.Replace("{奖金}",Tables("资料")(i,"奖金"))

        rp.Replace("{累计}",Tables("资料")(i,"累计"))

        rp.Replace("{资料时间}",Tables("资料")(i,"资料"))

        rp.Replace("{当年}",Tables("资料")(i,"当年"))

        rp.Replace("{职业}",Tables("资料")(i,"职业"))

        rp.Replace("{文化程度}",Tables("资料")(i,"文化程度"))

        rp.Preview()

    End If

    i=i+1

Next


--  作者:andu
--  发布时间:2014/3/4 10:36:00
--  
用窗体,或者专业报表,貌似fx不能实现连续套打。