以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  第三个表不显示  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=172055)

--  作者:deliangzhaoe
--  发布时间:2021/9/20 20:40:00
--  第三个表不显示
问题:第三个表打印不出来,不显示

代码:
\'第一联:标题
Dim rx8 As prt.RenderText
Dim Rows8 As List(Of DataRow)
rx8 = New prt.RenderText
rx8.Style.Font = New Font("宋体", 14)
rx8.Style.Spacing.Bottom = 3
Dim dr As String = e.Form.controls("combobox7").value
rx8.text = dr & vbcrlf & "隐患整改通知单"
rx8.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'标题水平居中
doc.Body.Children.Add(rx8)
\'增加一个表
Dim rt1 As Prt.RenderTable
rt1 = New prt.RenderTable
rt1.Rows.Count = 3 \'设置总行数
rt1.Cols.Count = 4 \'设置总列数
rt1.Height = 30 \'设置表格的高度
rt1.Style.Font = New Font("宋体", 12)
rt1.Style.GridLines.All = New prt.LineDef(0.3,Color.blue)
\'设置第一个表样式
rt1.CellStyle.Spacing.All = 1 \'单元格内容缩进1毫米
rt1.Style.Spacing.Bottom = 0 \'和下一个资料卡的距离是0毫米
rt1.Style.GridLines.All = New prt.Linedef \'设置网格线
rt1.Style.TextAlignVert = prt.AlignVertEnum.Center \'内容垂直居中
rt1.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'标题水平居中
rt1.Cells(0,0).Text= "通知单编号"
rt1.Cells(0,1).Text= e.form.controls("combobox1").value
rt1.Cells(0,2).Text= "检查时间"
rt1.Cells(0,3).Text= e.form.controls("datetimepicker1").value
rt1.Cells(1,0).Text= "检查单位"
rt1.Cells(1,1).Text= e.form.controls("combobox2").value
rt1.Cells(1,2).Text= "检查人"
rt1.Cells(1,3).Text= e.form.controls("combobox3").value
rt1.Cells(2,0).Text= "检查类型"
rt1.Cells(2,1).Text= e.form.controls("combobox5").value
rt1.Cells(2,2).Text= "整改资金来源"
rt1.Cells(2,3).Text= "安全费用"
Doc.Body.ChildRen.Add(rt1) \'将容器加入到报表中
\'设置隐患排查表样式
Dim rt8 As Prt.RenderTable
rt8 = New prt.RenderTable
rt8.Style.TextAlignVert = prt.AlignVertEnum.Center
rt8.Style.GridLines.All = New prt.LineDef(0.3,Color.blue)
rt8.Style.Spacing.Bottom = 0
rt8.CellStyle.Spacing.All = 1
rt8.Style.Font = New Font("宋体", 11)
\'设置表格细节
Rows8 = tbl8.DataTable.Select("[企业名称] Like \'*" & e.Form.controls("combobox7").value & "*\' And 年度 Like \'*" & e.Form.controls("combobox6").value & "*\'And 所在部门 Like \'*" & e.Form.controls("combobox8").value & "*\'and 检查时间 >= #" & e.Form.controls("datetimepicker2").value & "# and 检查时间 <= #" & e.Form.controls("datetimepicker3").value & "#") \'指定符合条件的行和排序方式
Dim nms8() As String = {"年度","所在部门","隐患内容","整改措施","隐患分级","完成时间","责任人"} \'指定要显示的列即要打印的列
Dim caps() As String = {"序号","所在部门","隐患内容","整改措施","隐患分级","整改期限","责任人"} \'自定义列名
For c As Integer = 0 To nms8.length - 1
    Dim ary() As String = caps(c).split("|")
    For i As Integer = 0 To ary.length-1
        rt8.cells(i, c).text = ary(i)
    Next    \'打印的列标题自定义
    rt8.Cells(0,c).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'标题内容水平居中
    \'rt8.Cols(c).Width = tbl8.Cols(c).PrintWidth \'根据原表格确定列宽
    rt8.Cols(0).Width = 12 \'设置各列宽度
    rt8.Cols(1).Width = 23
    rt8.Cols(2).Width = 55
    rt8.Cols(3).Width = 35
    rt8.Cols(4).Width = 28
    rt8.Cols(5).Width = 23
    rt8.Cols(6).Width = 15
    For r As Integer = 0 To Rows8.Count -1
        If c=0 Then
            rt8.Cells(r + 1, c).Text = r+1 \'增加了序号列,并自动填充
        Else
            rt8.Cells(r + 1, c).Text = rows8(r)(tbl8.Cols(nms8(c)).Name)
        End If
    Next
Next
rt8.RowGroups(0,1).Header = prt.TableHeaderEnum.All
doc.Body.Children.Add(rt8)
\'再增加一个表,设置样式
Dim rt2 As Prt.RenderTable
rt2 = New prt.RenderTable
rt2.Rows.Count = 1 \'设置总行数
rt2.Cols.Count = 4 \'设置总列数
rt2.Height = 10 \'设置表格的高度
rt2.Style.Font = New Font("宋体", 12)
rt2.Style.GridLines.All = New prt.LineDef(0.3,Color.blue)
\'设置表格样式
rt2.CellStyle.Spacing.All = 1 \'单元格内容缩进1毫米
rt2.Style.Spacing.Bottom = 10 \'和下一个资料卡的距离是10毫米
rt2.Style.GridLines.All = New prt.Linedef \'设置网格线
rt2.Style.TextAlignVert = prt.AlignVertEnum.Center \'内容垂直居中
rt2.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'标题水平居中
rt2.Cells(0,0).Text= "备注"
rt2.Cells(0,1).Text= "此为第一联:安全部门留存"
rt2.Cells(0,2).Text= "接收人签字"
rt2.Cells(0,3).Text= ""
Doc.Body.ChildRen.Add(rt2) \'将容器加入到报表中

预览时显示:

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20210920203543.jpg
图片点击可在新窗口打开查看


请老师帮忙看一下错在哪里?怎么改?谢谢!


--  作者:有点蓝
--  发布时间:2021/9/22 9:15:00
--  
请给出完整代码
--  作者:deliangzhaoe
--  发布时间:2021/9/22 9:40:00
--  
这就是完整的


--  作者:有点蓝
--  发布时间:2021/9/22 10:00:00
--  
肯定不是
--  作者:deliangzhaoe
--  发布时间:2021/9/22 14:10:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:打印代码.txt


这是所有的代码

--  作者:有点蓝
--  发布时间:2021/9/22 14:20:00
--  
第三个表格是哪一段代码段打印的内容?
--  作者:deliangzhaoe
--  发布时间:2021/9/22 14:25:00
--  
\'再增加一个表,设置样式
Dim rt2 As Prt.RenderTable
rt2 = New prt.RenderTable
rt2.Rows.Count = 1 \'设置总行数
rt2.Cols.Count = 4 \'设置总列数
rt2.Height = 10 \'设置表格的高度
rt2.Style.Font = New Font("宋体", 12)
rt2.Style.GridLines.All = New prt.LineDef(0.3,Color.blue)
\'设置表格样式
rt2.CellStyle.Spacing.All = 1 \'单元格内容缩进1毫米
rt2.Style.Spacing.Bottom = 10 \'和下一个资料卡的距离是10毫米
rt2.Style.GridLines.All = New prt.Linedef \'设置网格线
rt2.Style.TextAlignVert = prt.AlignVertEnum.Center \'内容垂直居中
rt2.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'标题水平居中
rt2.Cells(0,0).Text= "备注"
rt2.Cells(0,1).Text= "此为第一联:安全部门留存"
rt2.Cells(0,2).Text= "接收人签字"
rt2.Cells(0,3).Text= ""

--  作者:有点蓝
--  发布时间:2021/9/22 14:36:00
--  
去掉这句:rt2.Height = 10 \'设置表格的高度
或者去掉这句:rt2.Style.Spacing.Bottom = 10 \'和下一个资料卡的距离是10毫米

--  作者:deliangzhaoe
--  发布时间:2021/9/22 15:01:00
--  
rt2.Height = 10 \'设置表格的高度
这一句是我后来加上了,原来时就没有,没有的时候也不行。

--  作者:有点蓝
--  发布时间:2021/9/22 15:09:00
--  
去掉其中一个我测试都没有问题,建议去掉rt2.Style.Spacing.Bottom = 10