Добрый день! Прошу Вас помочь.
Не получается сделать редактирование отдельных полей в cl_gui_alv_grid. Делаю по инструкции:
http://nikolay1880.blogspot.com/2013/01/alv.html, так же на данном форуме была подобная тема:
http://www.sapnet.ru/viewtopic.php?p=4057 - только речь шла про checkbox. Но судя по описанию, данные настройки должны работать и для других полей.
Я хочу открыть на редактирование поля INPUT в таблице отчета
Делаю так:
Сначала расширяю таблицу отчета на таблицу STYLE-настройку стилей:
Code:
types:
begin of t_report,
bukrs type bukrs,
anln1 type anln1,
anln2 type anln2,
anlkl type anlkl,
input(10) type c, "Его хочу открыть на редактирование
style type lvc_t_styl,
end of t_report.
data: lt_report type table of t_report with key bukrs anln1 anln2,
Затем заполняю эту таблицу по своему условию (пока просто для каждой строки отчета делаю, чтобы не усложнять):
Code:
loop at lt_report assigning <fs_report>.
ls_style-fieldname = 'INPUT'.
ls_style-style = cl_gui_alv_grid=>mc_style_enabled. " Включено редактирование
append ls_style to <fs_report>-style.
endloop.
Далее прописываю в лаяут имя моей настроечной таблицы стилей:
Code:
data: t_layout type lvc_s_layo.
t_layout-stylefname = 'STYLE'.
call method alv_grid->set_table_for_first_display
exporting
is_layout = t_layout
i_save = id_save
is_variant = ls_variant
changing
it_outtab = lt_report[]
it_fieldcatalog = fields[]
exceptions
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
others = 4.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
Т.е. все делаю по инструкции, но к сожалению, не работает...