指定行高和列宽
示例一
Dim
doc As
New PrintDoc '定义一个报表
Dim rt As
New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中
rt.Style.GridLines.All = New prt.LineDef
'将网格线类型设为默认类型
rt.Width = "Auto"
For i As
integer =
0
To
3
rt.Rows(i).Height = 10
* i '设置行高
rt.Cols(i).Width = 10
* i '设置列宽
next
Doc.Preview() '预览报表
这是执行结果:
需要注意的是,如果要分别指定了每一列的绝对宽度,那么下面这一行是必须的:
rt.Width = "Auto"
只有这样,表格的宽度才会自动等于各列所设置宽度之和,否则表格的宽度将始终等于页面可打印区域的宽度,而列宽的设置值将成为该列宽度占表宽的比例。
示例二
例如下面的代码,因为没有将表格的宽度设为自动,所以表格的宽度等于页宽,第一列和第二列的宽度分别占表宽的25%,第三列占50%:
Dim
doc As
New PrintDoc '定义一个报表
Dim rt As
New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中
rt.Style.GridLines.All = New prt.LineDef
'将网格线类型设为默认类型
rt.Height = 60
'
rt.Rows.Count = 3
rt.Cols(0).Width =
25
rt.Cols(1).Width =
25
rt.Cols(2).Width =
50
Doc.Preview() '预览报表
执行结果:
示例三
如果只是指定其中部分列的宽度,那么指定的列宽就是实际列宽,表宽减去这些列的宽度后,剩余的宽度将被平均分配到其余各列。
例如下面的代码,表格的宽度等于页宽,第一列的宽度为40毫米,剩余宽度被平均分配到另外两列:
Dim
doc
As New PrintDoc
'定义一个报表
Dim rt As
New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中
rt.Style.GridLines.All =
New prt.LineDef
'将网格线类型设为默认类型
rt.Height = 60
'
rt.Rows.Count = 3
rt.Cols.Count = 3
rt.Cols(0).Width =
40
Doc.Preview() '预览报表
执行结果:
本页地址:http://www.foxtable.com/webhelp/topics/1204.htm