В структуру таблицы, которая используется для вывода в 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.
Комментариев нет:
Отправить комментарий