Возникают задачи, когда пользователю необходимо отобразить ALV таблицу с возможностью выбора одной или нескольких строк. Данную задачу можно решить используя класс CL_RECA_GUI_F4_POPUP.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
DATA lo_f4 TYPE REF TO cl_reca_gui_f4_popup. DATA lt_alv TYPE TABLE OF scarr. DATA lt_sel TYPE TABLE OF scarr. DATA ls_row TYPE scarr. SELECT * INTO TABLE lt_alv FROM scarr. lo_f4 = cl_reca_gui_f4_popup=>factory_grid( lt_alv ). lo_f4->set_title( 'Выбор авиакомпании' ). lo_f4->display( IMPORTING et_result = lt_sel ). LOOP AT lt_sel INTO ls_row. WRITE / ls_row. ENDLOOP. IF sy-subrc NE 0. WRITE / 'Ничего не выбрано'. ENDIF. |
Результат
Класс позволяет настраивать отображение ALV и режим выбора данных: устанавливать заголовок, выбор ключевых полей, выбор режима выделения строк, установки полей в режиме CheckBox и т.п.
круто, 5 минут и готово, спасибо.
А как сделать поле в виде checkbox? Метод SET_CHECKBOX_FIELDS делает поле с типом checkbox активно, но поставить галочку не дает. Пишет сообщение: Изменение невозможно