MatrixLayout 
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.
Weitere Informationen: Layout-Optimierung für FlowLayout und MatrixLayout
Laufzeit-Klasse |
CL_WD_MATRIX_LAYOUT |
Name |
Typ |
Anfangswert |
Bindbar |
|---|---|---|---|
STRING |
(automatisch) |
nein |
|
WDY_BOOLEAN |
false |
nein |
|
WDY_BOOLEAN |
false |
nein |
Name |
Kardinalität |
Typ |
|---|---|---|
0..1 |
||
0..1 |
Name |
|---|
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:
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 |
|---|---|---|
STRETCHED_HORIZONTALLY |
WDY_BOOLEAN |
|
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 |
|---|---|
ON_DROP |
View Designer Name |
Laufzeitname |
Kardinalität |
|---|---|---|
DRAG_SOURCE_INFO |
0..1 |
|
DROP_TARGET_INFO |
0..1 |