Skip to content

CheckBox

Ein einzelnes Häkchen-Feld. Mehrere CheckBoxen werden lose gruppiert, indem Sie sie in denselben Container ziehen – im Gegensatz zur RadioGroup, bei der sich Gruppen-Mitglieder gegenseitig ausschließen.

Designer-Attribute

AttributBeschreibungDefault
controlIdEindeutige IDautomatisch generiert
textBeschriftungcontrolId
selectedAktiviertfalse
enabledAnklickbartrue
visibleSichtbartrue
widthBreite (CSS-Wert)
valueStateStatus-Hervorhebung (None, Error, Warning, Success, Information)None
fontSizeSchriftgröße (CSS-Wert)
colorVordergrundfarbe (Hex)
backgroundColorHintergrundfarbe (Hex)
spanS / spanM / spanL / spanXLGrid-Layout12

ABAP-API

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

MethodeZweck
GET_TEXT / SET_TEXTBeschriftung
GET_SELECTED / SET_SELECTEDAktivierungszustand
GET_ENABLED / SET_ENABLEDAnklickbarkeit

Konstante für den Komponenten-Typ-Filter: /mobbuild/cl_check_box=>co_prop_val_control_type. Diese Konstante wird benötigt, wenn Sie über me->get_controls_by_type( ... ) alle CheckBoxen einer View einsammeln möchten.

Geerbte Methoden: siehe Control.

SET_SELECTED

ÜbergabeTypBeschreibung
IV_VALUEBOOLE_Dabap_true aktiv, abap_false inaktiv

Beispiel: /mobbuild/cl_ex_check_box_1

Das Beispiel sammelt alle ausgewählten CheckBoxen einer View ein und füllt eine ComboBox mit den Texten der angekreuzten Felder:

abap
METHOD on_pai.

  DATA(lo_cb_days) = me->get_combo_box( 'cbDays' ).
  DATA(lo_lbl_msg) = me->get_label( 'lblMsg' ).

  IF me->get_event( )->get_event_key( ) EQ 'Submit'.

    " alle CheckBoxen der View einsammeln
    DATA(lt_controls) = me->get_controls_by_type(
      iv_control_type = /mobbuild/cl_check_box=>co_prop_val_control_type
    ).

    lo_cb_days->remove_all_items( ).

    LOOP AT lt_controls INTO DATA(ls_control).

      DATA ls_check_box TYPE REF TO /mobbuild/cl_check_box.
      ls_check_box ?= ls_control.

      IF ls_check_box->get_selected( ) EQ abap_true.
        lo_cb_days->add_item(
          iv_key  = ls_check_box->get_text( )
          iv_text = ls_check_box->get_text( )
        ).
      ENDIF.

    ENDLOOP.

    IF lo_cb_days->items_count( ) > 0.
      lo_cb_days->set_visible( abap_true ).
    ELSE.
      lo_cb_days->set_visible( abap_false ).
    ENDIF.

    lo_cb_days->set_selected_key( space ).
    lo_lbl_msg->set_text( space ).

  ENDIF.

  IF me->get_event( )->get_event_key( ) EQ 'Change'.
    lo_lbl_msg->set_text( lo_cb_days->get_value( ) ).
  ENDIF.

ENDMETHOD.

Type-Cast erforderlich

get_controls_by_type liefert generische Control-Referenzen. Mit ?= casten Sie auf den konkreten Komponenten-Typ, um typspezifische Methoden wie get_selected aufrufen zu können.

Events im Designer

EventAuslöser
onSelectKlick auf die CheckBox (Status-Wechsel)

Nächste Schritte

  • RadioGroup – sich gegenseitig ausschließende Auswahl
  • Switch – Boolean-Toggle als Schalter
  • ComboBox – einzelne Auswahl aus Liste