我在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
答案 0 :(得分:1)
你的问题是Table对象没有高度,高度是基于行数(以及TopMargin和BottomMargin)。
每一行都有自己的高度属性。
如果您想要桌子的高度,则需要将所有行的高度相加。表有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