Show TOC

TablePopinLocate this document in the navigation structure

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.

Hinweis

Beachten Sie, dass eine TablePopinToggleCell nur für RowPopins, aber nicht für CellPopins verwendet werden sollte.

Achtung

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.

Hinweis

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.

Hinweis

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.

Hinweis

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

id

STRING

(automatisch)

nein

accessibilityDescription

Übersetzbarer Text

 

ja

design

WDUI_POPIN_DESIGN

fill

ja

hasContentPadding

WDY_BOOLEAN

true

ja

titleDesign

WDUI_TABLE_POPIN_TITLE_DESIGN

text

ja

titleText

Übersetzbarer Text

 

ja

Aggregationen im View Designer

Name Kardinalität Typ

CONTENT

0..1

UIElement

TEXT_BAR

0..1

TextBar

Events im View Designer

Name

onClose

Hinweis

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.

Dynamische Programmierung der Eigenschaften

View Designer Name Laufzeitname Typ

accessibilityDescription

ACCESSIBILITY_DESCR

WDY_MD_TRANSLATABLE_TEXT

design

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

hasContentPadding

HAS_CONTENT_PADDING

WDY_BOOLEAN

titleDesign

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

titleText

TITLE_TEXT

WDY_MD_TRANSLATABLE_TEXT

Dynamische Programmierung der Ereignisse

View Designer Name Laufzeitname

onClose

ON_CLOSE

Dynamische Programmierung der Aggregationen

View Designer Name Laufzeitname Kardinalität

CONTENT

CONTENT

0..1

TEXT_BAR

TEXT_BAR

0..1

Hinweis

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.