我正在使用CL_GUI_ALV_GRID
类来显示表格。我希望能够编辑表(添加新行并删除所有行),但我不希望现有行可编辑。这意味着:
我有5条记录要显示,我希望能够删除和添加新记录,但我不希望用户编辑现有的5条记录(我希望他能够删除它们)。
这可能吗?
答案 0 :(得分:2)
默认情况下,当您拨打' LVC_FIELDCATALOG_MERGE'函数模块为CL_GUI_ALV_GRID生成字段目录,单元格不可编辑。
您必须设置要编辑的列,并设置'编辑'属性如下:
...
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'完整的例子。
希望它有所帮助。