Zelleditor ändern 
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.
Um zum Beispiel für eine Spalte ein InputField als Zelleditor zu setzen, gehen Sie folgendermaßen vor:
Instanziieren Sie das ALV Configuration Model, wie in ALV Configuration Model holen beschrieben.
Fügen Sie folgendes Coding ein, wobei lv_value die Variable für das Configuration Model ist:
Syntax
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 ).