以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]连续套打只出来一行数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187004)

--  作者:vvfree
--  发布时间:2023/6/14 3:14:00
--  [求助]连续套打只出来一行数据
加入数据,单号一样,6条数据连续套打只出来一行数据,

测试代码:
Dim doc As New PrintDoc \'定义一个报表
Dim tbl As Table = Tables("查询打印_Table2")
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毫米
    ra.Children.Add(rx) \'加入到容器中
    \'指定行数、列数、列宽、行高
    rt.Rows.Count = 7 \'设置总行数
    rt.Cols.Count = 5 \'设置总列数
    rt.Height = 75 \'设置表格的高度
    rt.Rows(6).Height = 30 \'设置第7行(显示备注的行)的高度,剩余高度被平均分排到其他行
    rt.Cols(0).Width = 26 \'设置前四列的宽度,剩余的宽度被分配给5列(显示图片的那列)
    rt.Cols(1).Width = 35
    rt.Cols(2).Width = 26
    rt.Cols(3).Width = 40
    \'设置合并单元格
    rt.Cells(0, 4).SpanRows = 6 \'第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.Spacing.Bottom = 5 \'和下一个资料卡的距离是5毫米
    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 = "单号1"

rt.Cells(0, 1).Text = rw("单号")


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

--  作者:有点蓝
--  发布时间:2023/6/14 8:42:00
--  
测试没有问题,说明只选了一行数据
--  作者:vvfree
--  发布时间:2023/6/14 10:13:00
--  回复:(有点蓝)测试没有问题,说明只选了一行数据
表都是有数据的,查询表直接引用也不行,难道要datatable?如果换成datatabable要怎么写?
--  作者:有点蓝
--  发布时间:2023/6/14 10:16:00
--  
和datatable什么的没有关系。没有选择多行数据:http://www.foxtable.com/webhelp/topics/1597.htm
--  作者:vvfree
--  发布时间:2023/6/14 10:19:00
--  回复:(有点蓝)和datatable什么的没有关系。没有选择...
那不是遍历整个表所以行还要选择多行?
--  作者:有点蓝
--  发布时间:2023/6/14 10:22:00
--  
您用的代码就是还要选择多行的,认真看看4楼帮助。

遍历所有行应该用这个:http://www.foxtable.com/webhelp/topics/1438.htm

Dim tbl As Table = Tables("查询打印_Table2")
For i As Integer = 0 To tbl.rows.count - 1
    Dim rw As Row = tbl.Rows(i)