
Popins sind Einschübe zwischen die Zeilen einerTable, die sich auf eine Zeile oder einzelne Zellen beziehen können. Entsprechend kann ein Popin an der Table für einen Zeilen-Popin und an der TableColumn für ein Zellen-Popin angeschlossen werden. Bei einen Zellen-Popin wird die zugehörige Zelle mit der Hintergrundfarbe des Popins hinterlegt, um deren Zusammengehörigkeit zu visualisieren. Für das Auf- und Zuklappen des TablePopins steht die ZellvarianteTablePopinToggleCell zur Verfügung.
Beachten Sie, dass eine TablePopinToggleCell nur für RowPopins, aber nicht für CellPopins verwendet werden sollte.
Die Verwendung des Table UI-Elements in den UI-Elementen TablePopin und RowRepeater wird nicht unterstützt.
Beispiele für die visuelle Darstellung
Zeilen-Popin
Zellen-Popin
Pro Zeile kann ein Popin existieren, sonst sind beliebig viele Popins zulässig.
Falls eine Table mehr als ein Popin auf einmal zeigen kann, darf das Popin keinViewContainerUIElement enthalten, da ansonsten die selbe View mehrfach angezeigt werden könnte, was nicht erlaubt ist. Ohnehin würde dies keinen Sinn machen, da die Popins den selben Inhalt mehrfach anzeigen würden.
Der Inhalt einen Popins wird über eineTextBar oder ein beliebiges anderes UI-Element realisiert.
Die EigenschaftTable.selectedPopin steuert, ob, und wenn ja, welches Popin zu einer Zeile angezeigt wird. Die Eigenschaft muss an die dataSource der Table gebunden werden, da sonst in jeder Zeile ein Popin erscheint. Die Eigenschaft selectedPopin enthält die Id des Elements, dessen Popin angezeigt werden soll. Entweder die Id der Table für das Zeilen-Popin (Table.Popin) oder die Id der Tabellenspalte für ein Zellen-Popin. Ist der Wert initial, so wird kein Popin für die Zeile angezeigt.
Popins sollten nicht für die klassiche Listen-Detail-Darstellung genutzt werden, da die Einschübe die Navigation durch die Table erschweren. Popins sollten dagegen für zusätzliche Informationen genutzt werden, die nicht ständig benötigt werden, aber dennoch nahe am Objekt angezeigt werden sollen.
Das Öffnen und Schließen von Popins muss durch die Anwendung selbst erfolgen. Für ein Zeilen-Popin bietet sich einToolbarButton an, für ein Zellen-Popin kann beispielsweise einLinkToAction als TableCellEditor zum Öffnen dienen. Für die Schließaktion bietet ein Popin bereits einen Event an. Wird der onClose-Event an eine Action gebunden, so zeigt das Popin einen Schließ-Button an, der beim Auslösen durch den Benutzer den Event auslöst.
Beachten Sie, dass die Verwendung von Zellen-Popins nicht für TreeByKeyTableColumn und TreeByNestingTableColum unterstützt wird.
Zeilen-Popins dagegen werden in die Hierarchie bei TreeByKeyTableColumn und TreeByNestingTableColum-Tabellen integriert, so dass sie durch den Auf-/Zuklappknopf der Hierarchie angezeigt und ausgeblendet werden können.
| Laufzeit-Klasse |
CL_WD_TABLE_POPIN |
| Name | Typ | Anfangswert | Bindbar |
|---|---|---|---|
|
STRING |
(automatisch) |
nein |
|
|
Übersetzbarer Text |
ja |
||
|
WDUI_POPIN_DESIGN |
fill |
ja |
|
|
WDY_BOOLEAN |
true |
ja |
|
|
WDUI_TABLE_POPIN_TITLE_DESIGN |
text |
ja |
|
|
Übersetzbarer Text |
ja |
Aggregationen im View Designer
Events im View Designer
| Name |
|---|
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.
Dynamische Programmierung der Eigenschaften
| View Designer Name | Laufzeitname | Typ |
|---|---|---|
|
ACCESSIBILITY_DESCR |
WDY_MD_TRANSLATABLE_TEXT |
|
|
DESIGN |
WDUI_POPIN_DESIGN |
|
|
design: fill |
CL_WD_TABLE_POPIN=>E_DESIGN-FILL |
|
|
design: plain |
CL_WD_TABLE_POPIN=>E_DESIGN-PLAIN |
|
|
design: transparent |
CL_WD_TABLE_POPIN=>E_DESIGN-TRANSPARENT |
|
|
HAS_CONTENT_PADDING |
WDY_BOOLEAN |
|
|
TITLE_DESIGN |
WDUI_TABLE_POPIN_TITLE_DESIGN |
|
|
titleDesign: critical |
CL_WD_TABLE_POPIN=>E_TITLE_DESIGN-CRITICAL |
|
|
titleDesign: error |
CL_WD_TABLE_POPIN=>E_TITLE_DESIGN-ERROR |
|
|
titleDesign: ok |
CL_WD_TABLE_POPIN=>E_TITLE_DESIGN-OK |
|
|
titleDesign: text |
CL_WD_TABLE_POPIN=>E_TITLE_DESIGN-TEXT |
|
|
TITLE_TEXT |
WDY_MD_TRANSLATABLE_TEXT |
Dynamische Programmierung der Ereignisse
| View Designer Name | Laufzeitname |
|---|---|
|
ON_CLOSE |
Dynamische Programmierung der Aggregationen
Im Beispiel WDR_TEST_TABLE im System wird ein STRING-Attribut zur Identifikation der Table-Zeile verwendet. Wenn Sie dies nicht benutzen möchten, da durch ein zusätzliches Attribut in der Struktur der Bezug zur Dictionary-Struktur verloren gehen würde, können Sie die folgende Technik anwenden: Legen Sie für den Knoten mit der DDIC-Struktur einen Unterknoten der Kardinalität 1:1 an und hinterlegen Sie dort das String-Attribut.
Sie könnten auch eine zweite DDIC-Struktur anlegen, die die erste Struktur sowie das zusätzliche Feld enthält.