Erscheinungsbild
ComboBox
Auswahl-Komponente mit Dropdown-Liste. Pflegt Items als Key/Text-Paare, die statisch im Designer oder dynamisch aus ABAP befüllt werden.
Designer-Attribute
| Attribut | Beschreibung | Default |
|---|---|---|
controlId | Eindeutige ID | automatisch generiert |
value | Aktuell angezeigter Wert (text des selektierten Items) | leer |
selectedKey | Aktuell selektierter key | leer |
placeholder | Platzhalter, wenn nichts ausgewählt | leer |
enabled | Aktiv | true |
editable | Frei tippbar (zusätzlich zur Auswahl) | true |
visible | Sichtbar | true |
width | Breite (CSS-Wert) | – |
valueState | Status-Hervorhebung | None |
valueStateText | Tooltip bei aktivem ValueState | leer |
fontSize | Schriftgröße (CSS-Wert) | – |
color | Vordergrundfarbe (Hex) | – |
backgroundColor | Hintergrundfarbe (Hex) | – |
spanS / spanM / spanL / spanXL | Grid-Layout | 12 |
Items werden als Kind-Komponenten (ComboBoxItem) im View-Tree gepflegt – siehe Eigenschaften-Panel der ComboBox.
ABAP-API
Zugriff über me->get_combo_box( '<controlId>' ).
| Methode | Zweck |
|---|---|
GET_VALUE / SET_VALUE | Anzeigewert (Text) |
GET_SELECTED_KEY / SET_SELECTED_KEY | Selektierter Key |
ADD_ITEM | Neues Item anhängen |
REMOVE_ITEM | Item nach Key entfernen |
REMOVE_ALL_ITEMS | Alle Items entfernen |
ITEMS_COUNT | Anzahl Items |
GET_ITEMS | Tabelle aller Items |
GET_VALUE_STATE / SET_VALUE_STATE | Status-Hervorhebung |
GET_VALUE_STATE_TEXT / SET_VALUE_STATE_TEXT | Status-Tooltip |
INIT | Eingabe und Status zurücksetzen |
Geerbte Methoden: siehe Control.
ADD_ITEM
| Übergabe | Typ | Beschreibung |
|---|---|---|
IV_KEY | String | Eindeutiger Key |
IV_TEXT | String | Anzuzeigender Text |
REMOVE_ITEM
| Übergabe | Typ | Beschreibung |
|---|---|---|
IV_KEY | String | Key des zu entfernenden Items |
SET_SELECTED_KEY
| Übergabe | Typ | Beschreibung |
|---|---|---|
IV_VALUE | String | Key des zu selektierenden Items. Existiert der Key nicht, wird value auf initial gesetzt. |
Beispiel: /mobbuild/cl_ex_combo_box_1
Das Beispiel zeigt eine validierende ComboBox: Beim Submit wird geprüft, ob Green ausgewählt wurde. Falls nicht, wird Green der Item-Liste hinzugefügt und die ComboBox als fehlerhaft markiert. Bei korrekter Auswahl wird Green entfernt:
abap
METHOD on_pai.
IF me->get_event( )->get_event_key( ) EQ 'Submit'.
DATA(lo_cb_color) = me->get_combo_box( 'cbColors' ).
IF lo_cb_color->get_selected_key( ) EQ 'Green' OR
lo_cb_color->get_value( ) EQ 'Green'.
" richtige Auswahl: ValueState zurücksetzen, Item entfernen
lo_cb_color->set_value_state( /mobbuild/cl_value_state=>co_none ).
lo_cb_color->set_value_state_text( space ).
lo_cb_color->remove_item( iv_key = 'Green' ).
lo_cb_color->set_selected_key( iv_value = space ).
ELSE.
" falsche Auswahl: ValueState auf Error, Item hinzufügen
lo_cb_color->set_value_state( /mobbuild/cl_value_state=>co_error ).
lo_cb_color->set_value_state_text( 'please select the Green color' ).
lo_cb_color->add_item( iv_key = 'Green' iv_text = 'Green' ).
lo_cb_color->set_selected_key( iv_value = 'Green' ).
ENDIF.
me->set_focus( iv_control_id = 'cbColors' ).
ENDIF.
ENDMETHOD.abap
METHOD on_pbo.
DATA(lo_cb_color) = me->get_combo_box( 'cbColors' ).
lo_cb_color->set_selected_key( space ).
lo_cb_color->set_value_state( /mobbuild/cl_value_state=>co_none ).
lo_cb_color->set_value_state_text( space ).
lo_cb_color->remove_item( iv_key = 'Green' ).
me->set_focus( iv_control_id = 'cbColors' ).
ENDMETHOD.set_selected_key vs. set_value
set_selected_key setzt gleichzeitig den value aus dem text-Feld des passenden Items. Existiert der Key nicht in der Item-Liste, wird value initial gesetzt. Direktes set_value bei aktivierbarer ComboBox erlaubt frei tippbaren Text – etwa wenn die ComboBox als typeable Vorschlagsliste fungieren soll.
Events im Designer
| Event | Auslöser |
|---|---|
onChange | Auswahl eines Items bzw. Wertänderung (auch beim freien Tippen, falls editable) |
Nächste Schritte
- RadioGroup – Alternative, wenn alle Optionen sichtbar sein sollen
- SegmentedButton – wenige Optionen als Button-Reihe
- List – Mehrfachauswahl in Listenform