
As standard, the cells of the ALV display are displayed with cell editors, for example the TextView , which are not ready for input. If you want to make the ALV editable then you have the option to replace these cell editors with the following interactive interface elements:
InputField
Checkbox
ToggleButton
TriStateCheckBox
DropDownByKey
Classes for interactive UI elements
|
UI Element |
Class |
|
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 |
You can find these classes in the system in package SALV_WD_CONFIG.
For information about displaying one of the UI elements in a cell, see Assigning Properties to Columns and Cells .
Proceed as follows to set an InputField as the cell editor for a column:
Instantiate the ALV Configuration Model, as described in Getting ALV Configuration Model .
Add the following code where lv_value is the variable for the configuration model:
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 ).