Skip to content

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

AttributBeschreibungDefault
controlIdEindeutige IDautomatisch generiert
selectedKeykey des aktiven Tableer
tabDensityModeCozy, Compact, InheritInherit
headerModeStandard, InlineStandard
enableTabReorderingTabs per Drag-and-Drop umsortierbarfalse
expandableTab-Inhalt einklappbartrue
visibleSichtbartrue
widthBreite (CSS-Wert)

IconTabFilter (Tab-Item)

AttributBeschreibung
keyEindeutiger Schlüssel
textBeschriftung
iconOptional: SAP-Icon-URL
countOptionaler Zähler oben am Tab
designVertical, Horizontal
visibleSichtbar

ABAP-API

Zugriff über me->get_icon_tab_bar( '<controlId>' ).

MethodeZweck
GET_SELECTED_KEY / SET_SELECTED_KEYAktiver Tab
GET_ITEMSTabelle aller Tab-Items
GET_ITEMItem nach key
SET_TAB_DENSITY_MODEDensity-Modus setzen
SET_HEADER_MODEHeader-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_horizontal

Geerbte 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

EventAuslöser
onSelectTab gewechselt

Nächste Schritte