Foxtable(狐表)用户栏目专家坐堂 → 为什么没有连续打印,只打印了第一行?


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

主题:为什么没有连续打印,只打印了第一行?

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


加好友 发短信
等级:童狐 帖子:214 积分:1386 威望:0 精华:0 注册:2017/5/13 15:13:00
为什么没有连续打印,只打印了第一行?  发帖心情 Post By:2017/6/27 19:40:00 [只看该作者]

Dim doc As New PrintDoc '定义一个报表

Dim tbl As Table = Tables("表g")
For i As Integer = tbl.TopRow To tbl.BottomRow
Dim rw As Row = tbl.Rows(i)
    Dim rt As New prt.RenderTable() '定义一个表格对象
    Dim rx As New prt.RenderText '定义一个文本对象
    Dim ra As New prt.RenderArea '定义一个容器
ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never  '禁止容器因为分页而被垂直分割
'加入标题
'rx.text = "员工资料卡"
rx.Style.FontBold = True '字体加粗
rx.Style.FontSize = 16 '大体大小为16磅
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
rx.Style.Spacing.Bottom = 3 '和下面的对象(表格)距离3毫米
doc.Body.Children.Add(rx) '加入到报表中
'指定行数?列数?列宽?行高
rt.Rows.Count = 7 '设置总行数
rt.Cols.Count = 5 '设置总列数
rt.Height = 80 '设置表格的高度为80毫米
'rt.Rows(6).Height = 40 '设置第7行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行
rt.Cols(0).Width = 24 '设置前四列的宽度,剩余的宽度被分配给5列(显示图片的那列)
rt.Cols(1).Width = 35
rt.Cols(2).Width = 24
rt.Cols(3).Width = 24
rt.Cols(4).Width = 24
rt.Cols(5).Width = 40

'设置合并单元格
rt.Cells(0,0).SpanRows = 4 '第1行第5个单元格向下合并6行(用于显示照片)
rt.Cells(0,1).SpanRows = 4 '第1行第5个单元格向下合并6行(用于显示照片)
rt.Cells(0,2).SpanRows = 4 '第1行第5个单元格向下合并6行(用于显示照片)
rt.Cells(0,3).SpanRows = 4 '第1行第5个单元格向下合并6行(用于显示照片)
rt.Cells(0,4).SpanRows = 4 '第1行第5个单元格向下合并6行(用于显示照片)
rt.Cells(0,5).SpanRows = 4 '第1行第5个单元格向下合并6行(用于显示照片)

'rt.Cells(4,1).SpanCols = 3 '第5行第2个单元格向右合并3列(用于显示地址)
'rt.Cells(6,0).SpanCols = 5 '第7行第1个单元格向右合并5列(用于显示备注)
'设置表格样式
rt.CellStyle.Spacing.All = 1 '单元格内容缩进1毫米
rt.Style.GridLines.All = New prt.Linedef '设置网格线
rt.Style.TextAlignVert = prt.AlignVertEnum.Center '内容垂直居中
'rt.Rows(6).Style.TextAlignVert = prt.AlignVertEnum.Top '唯独第7行是备注,内容靠上对齐
'下面很简单,指定每一个单元格的内容
'rt.Cells(0,0).Text= "板块"
rt.Cells(0,0).Text = rw("板块")
rt.Cells(0,1).Text = rw("线路名称")
rt.Cells(0,2).Text = rw("编号")
rt.Cells(0,3).Text = rw("地接名称")
rt.Cells(0,4).Text = rw("价格")
rt.Cells(0,5).Text = rw("备注")

ra.Children.Add(rt) '加入到容器中
    Doc.Body.ChildRen.Add(ra) '将容器加入到报表中
Next
Doc.Preview() '预览报表

------------------------------------------------
各位老师晚上好,我想实现连续打印表g的内容,但是结果只打印了第一行,why???

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111391 积分:567019 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/27 20:27:00 [只看该作者]

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

改为

For i As Integer = 0 To tbl.Rows - 1

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


加好友 发短信
等级:童狐 帖子:214 积分:1386 威望:0 精华:0 注册:2017/5/13 15:13:00
  发帖心情 Post By:2017/6/27 20:33:00 [只看该作者]

有点蓝 老师 怎么如此报错呢
图片点击可在新窗口打开查看此主题相关图片如下:未标题-2 拷贝.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111391 积分:567019 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/27 20:40:00 [只看该作者]

For i As Integer = 0 To tbl.Rows.Count - 1

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


加好友 发短信
等级:童狐 帖子:214 积分:1386 威望:0 精华:0 注册:2017/5/13 15:13:00
  发帖心情 Post By:2017/6/27 20:42:00 [只看该作者]

感谢有点蓝老师 ,真的可以了

 回到顶部