有如下代码,现在想表头每页打印,但遇到下面代码冲突(标有红色代码冲突)。是否有解决方案?
谢谢!
Dim Doc As new PrintDoc
Dim rt As new prt.RenderTable
rt.Style.GridLines.All = New Prt.LineDef(0.5, Color.Black)
Dim tra As new prt.RenderArea '容器
tra = rt.Cells(0,0).Area '引用单元格的容器
tra.Stacking = prt.StackingRulesEnum.BlockTopToBottom '排列方式改为从上到下
tra.SplitHorzBehavior = prt.SplitBehaviorEnum.SplitIfNeeded 'Never '需要水平分割
Dim title As new prt.RenderText
title.Text = "公司名称" '设置文本对象的内容
title.Style.Font = New Font("宋体", 16, FontStyle.Bold) '设置主标题字体
title.Style.TextAlignHorz = prt.AlignHorzEnum.Center '文本内容水平居中
title.Style.Spacing.Bottom = 1
tra.Children.Add(title)
Dim title1 As new prt.RenderText
title1.Text = "CompanyName" '设置文本对象的内容
title1.Style.Font = New Font("宋体", 16, FontStyle.Bold) '设置主标题字体
title1.Style.TextAlignHorz = prt.AlignHorzEnum.Center '文本内容水平居中
title1.Style.Spacing.Bottom = 3
tra.Children.Add(title1)
Dim title2 As new prt.RenderText
title2.Text = "报表名称" '设置文本对象的内容
title2.Style.Font = New Font("宋体", 16, FontStyle.Bold) '设置主标题字体
title2.Style.TextAlignHorz = prt.AlignHorzEnum.Center '文本内容水平居中
title2.Style.Spacing.Bottom = 3
tra.Children.Add(title2)
'设置列标题
rt.cells(1,0).SpanCols = 3 '合并第一行前三个单元格
rt.Cells(1,3).SpanCols = 3 '合并第一行最后三个单元格
rt.cells(1,0).Text = "第一季度" '设置第一行第一个单元格的内容
rt.Cells(1,3).Text = "第二季度" '设置第一行第四个单元格的内容
rt.Cells(1,0).Text= "华东"
rt.Cells(1,1).Text = "华南"
rt.Cells(1,2).Text = "华北"
rt.Cells(1,3).Text= "华东"
rt.Cells(1,4).Text = "华南"
rt.Cells(1,5).Text = "华北"
rt.Cols(0).Width = 100
rt.Cols(1).Width = 100
rt.Width = "Auto" '表格宽度为自动,也就是等于各列设置宽度之和
'rt.SplitHorzBehavior = prt.SplitBehaviorEnum.SplitIfNeeded '遇到合并单元格超出页宽时会卡死!!!!!!!!!
rt.SplitHorzBehavior = prt.SplitBehaviorEnum.Never '不会卡死
rt.Cells(0,0).SpanCols = 6 '合并,用于显示主标题,***当表宽超出页宽,且为水平换页时会被卡死。
rt.Cells(0,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center '主标题居中
rt.Cells(0,0).Style.Font = New Font("宋体", 16, FontStyle.Bold) '设置主标题字体
rt.Rows(0).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第一行的网格线
rt.Rows(0).Style.Borders.Bottom = New prt.Linedef '恢复第二行底端的网格线
'rt.Rows(0).Height = 8 '设置第二行的高度,拉开和表格主体的距离.
Doc.Body.Children.Add(rt)
rt.RowGroups(0,4).Header = prt.TableHeaderEnum.All '前四行作为表头
'给表格增加行测试效果
For i As Integer = 2 To 100 '增加100行
rt.Cells(i + 2, 0).Text = i
Next
Doc.Preview() '预览报表
[此贴子已经被作者于2014-10-20 14:40:29编辑过]