Erscheinungsbild
IconTabBar
Tab-Navigation innerhalb einer View. Die einzelnen Tabs (IconTabFilter) zeigen jeweils eigenen Inhalt – ideal um mehrere thematische Bereiche ohne View-Wechsel anzuzeigen.
Designer-Attribute
| Attribut | Beschreibung | Default |
|---|---|---|
controlId | Eindeutige ID | automatisch generiert |
selectedKey | key des aktiven Tab | leer |
tabDensityMode | Cozy, Compact, Inherit | Inherit |
headerMode | Standard, Inline | Standard |
enableTabReordering | Tabs per Drag-and-Drop umsortierbar | false |
expandable | Tab-Inhalt einklappbar | true |
visible | Sichtbar | true |
width | Breite (CSS-Wert) | – |
IconTabFilter (Tab-Item)
| Attribut | Beschreibung |
|---|---|
key | Eindeutiger Schlüssel |
text | Beschriftung |
icon | Optional: SAP-Icon-URL |
count | Optionaler Zähler oben am Tab |
design | Vertical, Horizontal |
visible | Sichtbar |
ABAP-API
Zugriff über me->get_icon_tab_bar( '<controlId>' ).
| Methode | Zweck |
|---|---|
GET_SELECTED_KEY / SET_SELECTED_KEY | Aktiver Tab |
GET_ITEMS | Tabelle aller Tab-Items |
GET_ITEM | Item nach key |
SET_TAB_DENSITY_MODE | Density-Modus setzen |
SET_HEADER_MODE | Header-Modus setzen |
Konstanten
/mobbuild/cl_icon_tab_bar=>co_density_mode_cozy
/mobbuild/cl_icon_tab_bar=>co_density_mode_compact
/mobbuild/cl_icon_tab_bar=>co_density_mode_inherit
/mobbuild/cl_icon_tab_bar=>co_header_mode_standard
/mobbuild/cl_icon_tab_bar=>co_header_mode_inline
/mobbuild/cl_icon_tab_filter=>co_design_vertical
/mobbuild/cl_icon_tab_filter=>co_design_horizontalGeerbte Methoden: siehe Control.
Beispiel: /mobbuild/cl_ex_icon_tab_bar (Auszug)
Density-Modus aus einer RadioGroup übernehmen:
abap
METHOD set_density_mode.
DATA(lo_icon_tab_bar) = me->get_icon_tab_bar( 'tabBar1' ).
DATA(lv_selected_density_mode) = me->get_radio_group( 'groupTabDensityMode' )->get_selected_index( ).
CASE lv_selected_density_mode.
WHEN 0.
lo_icon_tab_bar->set_tab_density_mode(
/mobbuild/cl_icon_tab_bar=>co_density_mode_cozy ).
WHEN 1.
lo_icon_tab_bar->set_tab_density_mode(
/mobbuild/cl_icon_tab_bar=>co_density_mode_compact ).
WHEN 2.
lo_icon_tab_bar->set_tab_density_mode(
/mobbuild/cl_icon_tab_bar=>co_density_mode_inherit ).
ENDCASE.
ENDMETHOD.Tabs ein-/ausblenden:
abap
METHOD set_show_hide.
DATA(lo_icon_tab_bar) = me->get_icon_tab_bar( 'tabBar3' ).
DATA(lo_icon_tab_bar_item) = lo_icon_tab_bar->get_item( 'open' ).
DATA(lv_visible) = me->get_radio_group( 'groupVisible' )->get_selected_index( ).
IF lv_visible EQ 1.
lo_icon_tab_bar_item->set_visible( abap_false ).
ELSE.
lo_icon_tab_bar_item->set_visible( abap_true ).
ENDIF.
ENDMETHOD.Tab-Inhalt dynamisch füllen (eine Table im aktiven Tab mit Beispiel-Daten beladen):
abap
METHOD set_single_content.
TYPES: BEGIN OF ty_item,
item TYPE string,
END OF ty_item.
DATA: lt_items TYPE TABLE OF ty_item,
ls_item TYPE ty_item.
DATA(lo_table) = me->get_table( 'tableExample6' ).
DATA(lo_icon_tab_bar) = me->get_icon_tab_bar( 'tabBar6' ).
DATA(lv_selected_key) = lo_icon_tab_bar->get_selected_key( ).
DO 5 TIMES.
ls_item-item = lv_selected_key.
APPEND ls_item TO lt_items.
ENDDO.
lo_table->bind( lt_items ).
ENDMETHOD.Events im Designer
| Event | Auslöser |
|---|---|
onSelect | Tab gewechselt |
Nächste Schritte
- SegmentedButton – kompakte Auswahl ohne eigenen Tab-Inhalt