Abap ALV网格锁特定行

Abap ALV网格锁特定行,abap,dynpro,Abap,Dynpro,我正在使用CL\u GUI\u ALV\u GRID类来显示一个表。我希望能够编辑表(添加新行并删除所有行),但不希望现有行可编辑。这意味着: 我有5条记录要显示,我希望能够删除和添加新记录,但我不希望用户编辑5条现有记录(我希望他能够删除它们) 这可能吗?默认情况下,当您调用“LVC\u FIELDCATALOG\u MERGE”功能模块为CL\u GUI\u ALV\u网格生成字段目录时,单元格不可编辑 必须设置要编辑的列设置“编辑”属性,如下所示: ... data: it_fieldca

我正在使用
CL\u GUI\u ALV\u GRID
类来显示一个表。我希望能够编辑表(添加新行并删除所有行),但不希望现有行可编辑。这意味着:

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


这可能吗?

默认情况下,当您调用“LVC\u FIELDCATALOG\u MERGE”功能模块为CL\u GUI\u ALV\u网格生成字段目录时,单元格不可编辑

必须设置要编辑的列设置“编辑”属性,如下所示:

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

希望能有帮助


我已经知道,问题是如何“锁定”现有行。例如,查看事务su01的角色选项卡。无法编辑已应用的角色。您可以删除它们。@thefiloe好吧,那么您的问题不是很清楚,因为事务“SU01”不使用CL\u GUI\u ALV\u GRID。另一方面,如果您检查程序“SAPLSUU5”,特别是dynpro“103”,则有一种传统的表控制方案,需要通过表管理数据。我还没有做过这样的解决方案,但这里有一个链接可以帮助你。如果你坚持使用CL_GUI_ALV_网格,那么程序“BCALV_EDIT_04”是你最好的选择。希望能有帮助。