3

我有动态填充的 Libre/OpenOffice Base 表单中的表控件。
我想改变它的高度以匹配行数。
怎么做?

我试过改变getSize()/setSize()height财产,但我得到:

Property or method not found: getSize

我的代码:

oTable = oForm.GetByName("MySubForm").GetByName("MyTable")
oTable.getSize()

可视化:http: //i.imgur.com/IHi75.png

关于此表控件,因为它在 Base 中命名 - 在调试器中它是com.star.comp.forms.OGridControlModel,在 content.xml 中它被列为com.sun.star.form.component.GridControl

4

1 回答 1

1

您的问题是 Table 对象没有高度,高度基于行数(以及 TopMargin 和 BottomMargin)。

每行都有它自己的 Height 属性。

如果你想要一个表格的高度,你需要对所有行的高度求和。表格具有影响“感知”的 TopMargin 和 BottomMargin 属性。身高也一样。

Rows = Table.getRows
For I = 0 To Rows.getCount() - 1
   Row = Rows.getByIndex(I)
   CurrentHeight = CurrentHeight + Row.Height
Next

如果要设置表格的高度,则需要添加/删除行或更改当前行的高度。

Rows.insertByIndex(Rows.getCount(), 1)
Row = Rows.getByIndex(Rows.getCount() - 1)
Row.IsAutoHeight = False
Row.Height = 1000

您可以在线查看完整的文档。 http://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide/More_Than_Text

于 2011-12-21T15:40:48.963 回答