以文本方式查看主题 - 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预览怎么和我设计时候的格式不一样 如何实现当复选框选择后进行连续预览及打印 如何实现不预览而直接打印
此主题相关图片如下: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,"出生日期")),"yyyy年MM月dd日")) rp.Replace("{姓名}",Tables("资料")(i,"姓名") ) rp.Replace("{民族}",Tables("资料")(i,"民族")) rp.Replace("{日期}",Format(cdate(Tables("资料")(i,"开始时间")),"yyyy年MM月dd日") ) rp.Replace("{单位}",Tables("资料")(i,"单位")) rp.Replace("{原籍}",Tables("资料")(i,"现居地")) rp.Replace("{工作开始}",Format(cdate(Tables("资料")(i,"工作开始")),"yyyy年MM月dd日") ) rp.Replace("{工作结束}",Format(cdate(Tables("资料")(i,"工作结束")),"yyyy年MM月dd日") ) 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,"出生日期")),"yyyy年MM月dd日")) rp.Replace("{姓名}",Tables("资料")(i,"姓名") ) rp.Replace("{民族}",Tables("资料")(i,"民族")) rp.Replace("{日期}",Format(cdate(Tables("资料")(i,"开始时间")),"yyyy年MM月dd日") ) rp.Replace("{单位}",Tables("资料")(i,"单位")) rp.Replace("{原籍}",Tables("资料")(i,"原籍")) rp.Replace("{工作开始}",Format(cdate(Tables("资料")(i,"工作开始")),"yyyy年MM月dd日") ) rp.Replace("{工作结束}",Format(cdate(Tables("资料")(i,"工作结束")),"yyyy年MM月dd日") ) 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不能实现连续套打。 |