Foxtable(狐表)用户栏目专家坐堂 → 报表循环打印不成功,应该怎么改呢?谢谢帮助


  共有2276人关注过本帖树形打印复制链接

主题:报表循环打印不成功,应该怎么改呢?谢谢帮助

帅哥哟,离线,有人找我吗?
erdbeer
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:445 积分:4777 威望:0 精华:0 注册:2010/4/11 14:09:00
报表循环打印不成功,应该怎么改呢?谢谢帮助  发帖心情 Post By: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() '预览报表


目标是想要打印两张标签,结果是打印到一张上面了,该怎么修改代码呢?



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


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/4 9:06:00 [只看该作者]

参考这种:http://www.foxtable.com/webhelp/topics/1239.htm

把生成表格代码放到循环里面

 回到顶部