容器的大小

如果你没有明确指定RenderArea的尺寸,那么RenderArea会自动根据子对象的位置和尺寸调整到最佳大小。
但是这时候,子对象的尺寸不能引用RenderArea的尺寸,否则不能正常显示。
理由很简单,因为在这种情况下,RenderArea的尺寸由子对象决定,而子对象的尺寸又由RenderArea的尺寸决定,这是一个死循环。

不信可以在命令窗口执行下面的代码,你会发现,不会有任何内容显示:

Dim doc As New PrintDoc '定义一个报表
Dim
rt As New prt.RenderText '定义一个文本对象
Dim
ra As New prt.RenderArea
rt.Text =
"Hello Foxtable" '设置文本对象的内容
rt
.Width = "Parent.Width" '宽度等于容器宽度
rt
.Height = "Parent.Height" '高度等于容器高度
rt.Style.Borders.All = New prt.Linedef(
1, Color.Red) '设置边框
ra.Children.Add(rt)
'加入到容器中
doc.Body.Children.Add(ra)
'将容器加入到报表
doc.Preview()
'预览

类似的原理适合于任何容器,包括表格。


本页地址:http://www.foxtable.com/webhelp/topics/1187.htm