Show TOC

MatrixLayoutLocate this document in the navigation structure

Verwendung

Das MatrixLayout ordnet die Oberflächenelemente tabellenartig in einer Gitterstruktur an. Es verwendet vordefinierte Zellklassen, die angemessene Zellenabstände für das ganze Gitter gewährleisten. Mit der Eigenschaft vGutter ist es möglich, auf einfache Weise zusätzliche horizontale Abstände zu bestimmen. Diese zusätzlichen Abstände (Gutter) können Sie mit und ohne Trennlinien verwenden. Außerdem kann das MatrixLayout zur zusätzlichen Trennung der Reihen horizontale Trenner, die durch das HorizontalGutter-Oberflächenelement repräsentiert werden, aufnehmen. Diese Layout-Art trägt somit wesentlich zu einer einheitlichen Layout-Struktur in einem Container bei und sollte daher dem GridLayout vorgezogen werden. Mit MatrixHeadData können Sie bestimmen, mit welchem Oberflächenelement eine neue Zeile begonnen wird.

Hinweis

Die Verwendung geschachtelter MatrixLayouts sollte vermieden werden und wenn möglich durch RowLayouts ersetzt werden. Das RowLayout unterscheidet sich vom MatrixLayout dadurch, dass der Inhalt nicht in Tabellenzellen organisiert ist, d.h. die einzelnen Elemente sind nicht gegenseitig an einer vertikalen Linie ausgerichtet. Die Implementierung des RowLayouts weist sich gegenüber dem MatrixLayout durch ein besseres Leistungsverhalten der Anwendung aus und mindert nicht die Flexibilität der Layoutgestaltung. Deswegen sollten Sie möglichst zu Beginn die View bzw. den Container mit Hilfe der RowLayouts in horizontale Bereiche strukturieren. Erst wenn eine tabellenartige Darstellung mit Ausrichtung der Elemente an einer vertikalen Linie erforderlich ist, sollte das MatrixLayout verwendet werden.

Implementierungsdetails

Laufzeit-Klasse

CL_WD_MATRIX_LAYOUT

Name

Typ

Anfangswert

Bindbar

id

STRING

(automatisch)

nein

stretchedHorizontally

WDY_BOOLEAN

false

nein

stretchedVertically

WDY_BOOLEAN

false

nein

Name

onDrop

Hinweis

Layout-Daten sind generell nicht bindbar.

Weitere Eigenschaften, die über Vererbung zur Verfügung stehen, sind in den dazugehörigen übergeordneten Klassen definiert. Die dazugehörigen Oberflächenelemente sind:

Dynamische Programmierung

Für die dynamische Programmierung stehen dieselben Eigenschaften, Ereignisse und Aggregationen zur Verfügung wie im View Designer. Beachten Sie dabei die unterschiedlichen Schreibweisen.

View Designer Name

Laufzeitname

Typ

stretchedHorizontally

STRETCHED_HORIZONTALLY

WDY_BOOLEAN

stretchedVertically

STRETCHED_VERTICALLY

WDY_BOOLEAN

Achtung

Beachten Sie, dass bei der dynamischen Programmierung die Default-Werte von stretchedHorizontally und stretchedVertically auf true stehen, während sie im View Designer auf false stehen.

View Designer Name

Laufzeitname

onDrop

ON_DROP

View Designer Name

Laufzeitname

Kardinalität

DRAG_SOURCE_INFO

DRAG_SOURCE_INFO

0..1

DROP_TARGET_INFO

DROP_TARGET_INFO

0..1