В структуру таблицы, которая используется для вывода в ALV Grid, добавить поле с типом LVC_T_STYL. Назовем его, например, CELLTAB.
Заполнить стиль, например, в зависимости от какого-либо условия.
DATA: ls_celltab TYPE lvc_s_styl. FIELD-SYMBOLS: <fs_data> LIKE LINE OF mt_data. LOOP AT mt_data ASSIGNING <fs_data>. REFRESH <fs_data>-celltab. CLEAR ls_celltab. ls_celltab-fieldname = 'CHECKBOX'. IF <fs_data>-sum > 1000. ls_celltab-style = cl_gui_alv_grid=>mc_style_enabled. " Открыть ячейку для редактирования ELSE. ls_celltab-style = cl_gui_alv_grid=>mc_style_disabled. " Закрыть ячейку для редактирования ENDIF. INSERT ls_celltab INTO TABLE <fs_data>-celltab. ENDLOOP.
В структуру LAYOUT ALV передать название поля, которое используется для задания стиля ячейки.
ls_layout-stylefname = 'CELLTAB'.
После вызова SET_TABLE_FOR_FIRST_DISPLAY включить режим редактирования.
CALL METHOD mo_alv->set_ready_for_input EXPORTING i_ready_for_input = 1.
Комментариев нет:
Отправить комментарий