行组与表头
所谓行组,就是将连续的几行组合在一起进行设置。
定义一个行组的语法是:
RenderTable.RowGroups(StartRow, Count)
StartRow: 起始行位置
Count: 行数
行组有Style属性,可以集中对其中的行进行设置。
例如下面的代码,将前两行的颜色设为灰色:
rt.RowGroups(0, 2).Style.BackColor = Color.LightGray '将前两行的背景颜色设为灰色。
行组还提供了一个Header属性,该属性为TableHeaderEnum型枚举,包括以下可选值:
All
在每一页的开始处重复行组。
如果是分栏报表,则在每一栏的开始处重复。
Column
在每一栏的开始处重复行组。
Page
在每一页的开始处重复行组。
None
不重复,作为普通的行使用。
如果要将前几行作为表头使用,只需定义一个包括这几行的行组,然后将行组的Header属性设为All即可。
示例
Dim doc
As New PrintDoc
'定义一个报表
Dim rt As
New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中
rt.Style.GridLines.All = New prt.Linedef
'设置网格线
rt.CellStyle.Spacing.All = 0.5
'内容距离网格线0.5毫米
rt.Rows(0).Style.TextAlignHorz
= prt.AlignHorzEnum.Center '第一行内容水平居中
rt.Rows(0).Style.TextAlignVert
= prt.AlignVertEnum.Center '第一行内容垂直居中
rt.Rows(0).Style.BackColor
= Color.LightGray '第一行背景颜色设为灰色。
rt.RowGroups(0,1).Header
= prt.TableHeaderEnum.All '将第一行作为表头。
'下面的代码向表格中填入值
For c As
integer =
0
to
5
rt.Cells(0,
c).Text = "第" & (c +
1) &
"列"
Next
For r As
Integer =
1
To
200
For
c As
integer =
0
to
5
rt.Cells(r,c).Text = r &
"," & c
Next
Next
doc.Preview() '预览报表
执行上述代码后,你会发现每一页都会有表头了: