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 に答える