Show TOC

Zelleditor ändernLocate this document in the navigation structure

Verwendung

Die Zellen der ALV-Ausgabe werden standardmäßig mit Zelleditoren - wie zum Beispiel die TextView- angezeigt, die nicht eingabebereit sind. Wenn Sie den ALV editierbar machen wollen, haben Sie die Möglichkeit, diese Zelleneditoren durch folgende interaktive Oberflächenelemente zu ersetzen:

  • InputField

  • Checkbox

  • ToggleButton

  • TriStateCheckBox

  • DropDownByKey

Klassen für interaktive Oberflächenelemente

Oberflächenelement

Klasse

InputField

CL_SALV_WD_UIE_INPUT_FIELD

Checkbox

CL_SALV_WD_UIE_CHECKBOX

ToggleButton

CL_SALV_WD_UIE_TOGGLE_BUTTON

TriStateCheckBox

CL_SALV_WD_UIE_CHECKBOX_TRI

DropDownByKey

CL_SALV_WD_UIE_DROPDOWN_BY_KEY

Diese Klassen finden Sie im System im Paket SALV_WD_CONFIG.

Informationen dazu, wie Sie in einer Zelle eines der Oberflächenelemente anzeigen, finden Sie in Abschnitt Eigenschaften zu Spalten und Zellen zuweisen.

Roundtrip beim Markieren einer Checkbox

Jedesmal wenn der Benutzer eine Checkbox markiert oder eine Markierung aufhebt, wird ein Roundtrip ausgelöst. Wenn dies in Ihrer Anwendung nicht nötig ist, können Sie dies verhindern und damit zur Verbesserung der Performance beitragen. Deaktivieren Sie dazu das Ereignis ON_TOGGLE mit der Methode SET_ON_TOGGLE_ENABLED.

Vorgehensweise

Zelleditor ändern

Um zum Beispiel für eine Spalte ein InputField als Zelleditor zu setzen, gehen Sie folgendermaßen vor:

  1. Instanziieren Sie das ALV Configuration Model, wie in ALV Configuration Model holen beschrieben.

  2. Fügen Sie folgendes Coding ein, wobei lv_value die Variable für das Configuration Model ist:

    DATA: lr_column_settings TYPE REF TO if_salv_wd_column_settings,
    lr_input_field TYPE REF TO cl_salv_wd_uie_input_field.
    lr_column_settings ?= lv_value.
    lr_column = lr_column_settings->get_column( 'MY_COLUMN' ).
    CREATE OBJECT lr_input_field EXPORTING value_fieldname = 'MY_COLUMN'.
    lr_column->set_cell_editor( lr_input_field ).