自动扩展某一列
打印员工表中的三列,分别是姓名、性别、部门、备注。
我们可以分别指定姓名、性别、部门三列的宽度,但不指定备注列的宽度,这样剩余的宽度将全部为备注列所有:
Dim
doc
As New PrintDoc
'定义一个新报表
Dim rt As
New prt.RenderTable '定义一个新表格
Dim tb as
Table =
Tables("员工")
Dim ColNames As
String() = New
String(){"姓名","性别","部门","备注"}
rt.Style.Font = tb.Font
For c As
Integer =
0
To ColNames.Length -
1
'逐列设置和填入内容
rt.Cells(0,c).Text
= ColNames(c) '列名作为标题
rt.Cells(0,c).Style.TextAlignHorz
= prt.AlignHorzEnum.Center '标题内容水平居中
If
ColNames(c) <> "备注"
Then
'
rt.Cols(c).Width = tb.Cols(ColNames(c)).PrintWidth
End
If
For r
As
integer =
0
To tb.Rows.Count -1
'开始填入该列内容
rt.Cells(r +
1, c).Text =
tb.Rows(r)(ColNames(c))
Next
Next
rt.Style.Gridlines.All = New prt.Linedef(Color.Gray)
'灰色网格线
rt.CellStyle.Spacing.All = 0.5
'单元格内距设为0.5毫米
rt.Rows(0).Style.TextAlignHorz
= prt.AlignHorzEnum.Center '第一行内容水平居中
rt.RowGroups(0,1).Header
= prt.TableHeaderEnum.All '利用行组,将第一行设为表头。
doc.Body.Children.Add(rt) '将表格加入到报表
doc.Preview()
打印效果:
本页地址:http://www.foxtable.com/webhelp/topics/1237.htm