1

我正在使用CL_GUI_ALV_GRID该类来显示表格。我希望能够编辑表格(添加新行并删除所有行),但我不希望现有行可编辑。这意味着:

我有 5 条记录要显示,我希望能够删除和添加新记录,但我不希望用户编辑 5 条现有记录(我希望他能够删除它们)。

那可能吗?

4

1 回答 1

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'以获得完整的示例。

希望能帮助到你。

在此处输入图像描述

于 2015-09-08T14:06:37.103 回答