以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 专业报表打印,分栏,分页 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=117111) |
-- 作者:lwjiee -- 发布时间:2018/4/6 21:54:00 -- 专业报表打印,分栏,分页 此主题相关图片如下:2018-04-06 21_45_15-打印预览.bmp 如图,打印标签,分了2栏,如果表格比较长,第一页OK的,第二页就有问题了 有什么办法处理下吗? |
-- 作者:lwjiee -- 发布时间:2018/4/6 22:05:00 -- 现在我做的只是每隔10行,打印1个空行,结果如下 此主题相关图片如下:2018-04-06 22_04_05-打印预览.bmp 代码如下 Dim rta As New prt.RenderTable() \'定义一个表格对象 doc.Body.Children.Add(rta) \'将表格对象加入到报表中 rta.Style.GridLines.All = New prt.Linedef \'设置网格线 rta.CellStyle.Spacing.All = 0.5 \'内容距离网格线0.5毫米 rta.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'第一行内容水平居中 rta.Rows(0).Style.TextAlignVert = prt.AlignVertEnum.Center \'第一行内容垂直居中 rta.Rows(0).Style.BackColor = Color.LightGray \'第一行背景颜色设为灰色. rta.Cols(0).Width = 16 rta.RowGroups(0,1).Header = prt.TableHeaderEnum.All \'将第一行作为表头. \'下面的代码向表格中填入值 rta.Cells(0,0).Text = "子类" rta.Cells(0,1).Text = "型号" Dim RowIndex As Integer = 1 For Each dr As DataRow In drs Dim pn As String = dr("型号") Dim fdr As DataRow = DataTables("元件").find("型号 = \'" & pn & "\'") If fdr IsNot Nothing Then Dim ss As String = fdr("子类") rta.Cells(RowIndex,0).Text = ss rta.Cells(RowIndex,1).Text = pn RowIndex = RowIndex + 1 If (RowIndex Mod 10) = 0 Then rta.Cells(RowIndex,0).Text = " " rta.Cells(RowIndex,1).Text = "___________" RowIndex = RowIndex + 1 End If End If Next 有好的方法吗? 比如这个表格只在第二栏打印,或者每10行额外插入一个分页符 |
-- 作者:有点蓝 -- 发布时间:2018/4/7 9:00:00 -- 也只能这样子。可以每10行额外插入一个分页符,参考:http://www.foxtable.com/webhelp/scr/1196.htm |