
Eine Variante ist eine Liste alternativer Zellen. Sie wird über die Aggregation Zellenvarianten einfügen an der TableColumn erstellt. Es gibt verschiedene Typen von Zellvarianten:
|
TableStandardCell |
Dies ist eine normale Zelle mit einem eigenen Zelleditor, den Sie benutzen können, um z.B. unterschiedliche Zelleditoren in ein und der selben Spalte anzubieten (siehe unten). |
|
TablePopinToggleCell |
Hat keinen Zelleditor und kann nur dazu benutzt werden, um Popins auf- und zuzzuklappen. |
|
TableSingleMarkableCell |
Repräsentiert eine Zelle, die selektierbar ist. Weitere Informationen finden Sie unter TableSingleMarkableCell. |
|
TableMultiEditorCell |
Sie können mittels TableMultiEditorCell in eine einzige Tabellenzelle mehrere Zelleditoren, d.h. mehrere Links einfügen. Derartige Zellen können für "one click actions" verwendet werden. Die Typen der Zelleditoren sind jedoch beschränkt. |
|
TableSummaryCell und TableHierachySummaryCell |
Diese Zellvarianten sind für den ABAP List Viewer ( ALV) reserviert. |
Vorgehensweise für das Erstellen von Zellenvarianten
Wählen Sie an der gewünschten TableColumnüber das Kontextmenü Zellenvariante einfügen.
Geben Sie eine Id an und wählen Sie als Typ z.B. den Eintrag TableStandardCell oder TableMultiEditorCell.
Vergeben Sie für Ihre neue Zellenvariante einen variantKey.
Der variantKey wird zur Auswahl der Variante benötigt. Jede Zellvariante braucht einen eindeutigen variantKey.
Fügen Sie an Ihre Zellenvariante einen Editor hinzu. Wählen Sie dazu im Kontextmenü Editor einfügen.
Vergeben Sie für den Cell-Editor eine Id und wählen Sie den gewünschten Typ aus, z.B. InputField.
Binden Sie den Editor gegen die Datenquelle, indem Sie die Eigenschaft value gegen das entsprechende Context-Attribut binden.
Legen Sie an der TableColumn die selectedCellVariant fest.
Wenn in der selectedCellVariant zur Laufzeit der gleiche Wert wie in variantKey steht, wird die entsprechende Zellenvariante gezogen.
Falls selectedCellVariant leer ist, wird keine Zellvariante benutzt und stattdessen der CellEditor der Tabellenspalte dargestellt. Sie können das Property slectedCellVariant auf einen festen Wert setzen. Dann wird für jede Zelle dieser Spalte die entsprechende Zellvariante gezogen. Dies macht Sinn, wenn Sie z.B. eine gesamte Tabellenspalte für die TablePopinToggleCell reservieren wollen oder immer die gleiche SingleMarkableCell benutzen wollen.
Allerdings können Sie durch Context-Binding auch erreichen, dass in einer Spalte in unterschiedlichen Zeilen unterschiedliche Zellvarianten- und editoren benutzt werden. Dazu binden Sie selectedCellVariant an ein Attribut, das unterhalb der dataSource hängt, und befüllen es mit den variantKey s der Zellvarianten der Spalte oder lassen es leer, wenn Sie den Zelleditor der Spalte selber anzeigen möchten.
Sie finden ein Beispiel zum Testen von den Zell-Varianten TableStandardCell, TableMultEditorCell und TablePopinToggleCell im System in der Component WDR_TEST_TABLE_CELL_VARIA:
In der ersten Zelle wird eine TablePopinToggleCell verwendet, um das Popin zu öffnen bzw zu schließen.
In der Spalte Aktionen ist eine TableMultiEditorCell enthalten, in dem Sie fast alle möglichen Editoren finden.
In der letzten Spalte wird gezeigt, wie TableStandardCell s verwendet werden, um verschiedene Cell-Editoren in eine Spalte einzufügen (hier sind es TextEdit, CheckBox, DropDownByKey).
Im darunter liegenden View Explorer können Sie die verschiedenen Einstellungen verändern und das Verhalten testen.