以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 报表循环打印不成功,应该怎么改呢?谢谢帮助 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=161042) |
-- 作者:erdbeer -- 发布时间:2021/3/3 22:21:00 -- 报表循环打印不成功,应该怎么改呢?谢谢帮助 Dim doc As New PrintDoc() \'定义一个报表 doc.PageSetting.Width = 76 \'纸张宽度为76毫米 doc.PageSetting.Height = 106 \'纸张高度为102毫米 doc.PageSetting.LeftMargin = 2 \'设置左边距 doc.PageSetting.TopMargin = 1 \'设置上边距 \' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 报表页面设定 Dim rt As New prt.RenderTable() \'定义一个表格对象 rt.Style.GridLines.All = New prt.LineDef \'将网格线类型设为默认类型 rt.SplitVertBehavior = prt.SplitBehaviorEnum.Never \'避免垂直换页的时候,表格被分割成两部分 rt.CellStyle.Spacing.All = 1 \'单元格内容缩进1毫米 rt.Style.TextAlignVert = prt.AlignVertEnum.Center \'内容垂直居中 rt.Rows(5).Style.TextAlignVert = prt.AlignVertEnum.Top \'唯独第6行是备注,内容靠上对齐 rt.Rows(1).Style.TextAlignVert =prt.AlignHorzEnum.Justify \'两端对齐 rt.Width = 72 \'表格宽度为 72mm rt.Height = 104 \'设置表格的高度 95mm rt.Rows.Count = 6 \'设置总行数 0为第一行 rt.Cols.Count = 8 \'设置总列数 0为第一列 rt.Rows(0).Height = 20 \'设置第6行的高度为20毫米 rt.Rows(1).Height = 12 \'设置第6行的高度为20毫米 rt.Rows(2).Height = 20 \'设置第6行的高度为20毫米 rt.Rows(3).Height = 14 \'设置第6行的高度为20毫米 rt.Rows(4).Height = 22 \'设置第6行的高度为20毫米 \'设置合并单元格 rt.Cells(0,0).SpanCols = 8 rt.Cells(1,0).SpanCols = 8 rt.Cells(2,0).SpanCols = 8 rt.Cells(3,0).SpanCols = 4 rt.Cells(3,4).SpanCols = 4 rt.Cells(4,0).SpanCols = 8 rt.Cells(4,1).SpanCols = 7 rt.Cells(5,0).SpanCols = 8 \' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 报表表格元素设定 Dim rx As New prt.RenderText \'定义一个文本对象 Dim ra As New prt.RenderArea \'定义一个容器 Dim rm As prt.RenderImage \'定义一个图片对象 \' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - 报表基本变量设定 \' - - - - - - - - - - - - - - - - - - - - - -- - - - -- - - - -- - - - -- - - - - - - - - - 开始循环 Dim rmk As new prt.RenderEmpty \'定义一个新的空对象 For i As Integer = 1 To 2 Dim rep As New prt.RenderEmpty \'定义一个新的空对象 rep.BreakBefore = prt.BreakEnum.Page \'打印前换页 doc.Body.Children.Add(rep ) \'加入到报表中 ra = rt.Cells(0,0).Area \'引用单元格的容器,第一行 rx = New prt.RenderText rx.Text = "感谢帮忙" rx.Style.Font = New Font("宋体",26) rx.Style.TextIndent = 3 \'缩进 rx.Style.Spacing.Bottom = 1 \'下间隔 ra.Children.Add(rx) \'加入文本到RenderArea中 rx = New prt.RenderText rx.Text = "0086-xxx-xxxxxxxx" rx.Style.Font = New Font("宋体",12) rx.Style.TextIndent = 2 \'缩进 ra.Children.Add(rx) \'加入文本到RenderArea中 rm = New prt.RenderImage \'创建一个图片 rm.Image = GetImage("D:\\q.jpg") rm.height = 17 rm.Width = 17 rm.x = 48 rm.y = 1 ra.Children.Add(rm) \'加入文本到RenderArea中 ra = rt.Cells(1,0).Area \'引用单元格的容器,第一行 rx = New prt.RenderText rx.Text = "感谢帮忙" rx.Style.Font = New Font("宋体",18) rx.Style.TextIndent = 3 \'缩进 ra.Children.Add(rx) \'加入文本到RenderArea中 Next doc.Body.Children.Add(rt) doc.Preview() \'预览报表 目标是想要打印两张标签,结果是打印到一张上面了,该怎么修改代码呢? |
-- 作者:有点蓝 -- 发布时间:2021/3/4 9:06:00 -- 参考这种:http://www.foxtable.com/webhelp/topics/1239.htm 把生成表格代码放到循环里面
|