ALV Grid блокирует определенные строки
Я использую CL_GUI_ALV_GRID
класс для отображения таблицы. Я хотел бы иметь возможность редактировать таблицу (добавляя новые строки и удаляя все строки), но я не хочу, чтобы существующие строки были редактируемыми. Это означает:
У меня есть 5 записей для отображения, и я хотел бы иметь возможность удалять и добавлять новые записи, но я не хочу, чтобы пользователь редактировал 5 существующих записей (я бы хотел, чтобы он мог их удалить).
Это возможно?
1 ответ
По умолчанию при вызове функционального модуля "LVC_FIELDCATALOG_MERGE" для создания каталога полей для CL_GUI_ALV_GRID ячейки не редактируются.
Вы должны установить, какой столбец будет редактироваться, установив атрибут 'edit' следующим образом:
...
data: it_fieldcat type lvc_t_fcat,
wa_fieldcat like line of it_fieldcat.
call function 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'ZSTRUCT'
CHANGING
ct_fieldcat = it_fieldcat.
loop at it_fieldcat into wa_fieldcat.
wa_fieldcat-edit = 'X'. " ---->Here is set the editable column
modify it_fieldcat from wa_fieldcat.
endloop.
Если вы не хотите, чтобы ячейки редактировались, не устанавливайте этот атрибут.
Но для лучшей справки проверьте программы 'BCALV_EDIT_03' и 'BCALV_EDIT_04' для полных примеров.
Надеюсь, поможет.