ALV报表中设置可修改字段

首先定义两种宏,一种是可编辑,一种是不可编辑

 FIELDCAT-EDIT      ‘X’.     “编辑ALV

其次在内表中加上个定义个结构

 FIELD_STYLE  TYPE LVC_T_STYL

然后写控制逻辑

  DATA LS_STYLEROW TYPE LVC_S_STYL .
  DATA LT_STYLETAB TYPE LVC_T_STYL .

  LOOP AT T_ITAB.  

  CLEAR LT_STYLETAB[].

“此处写控制逻辑”

     LS_STYLEROW-FIELDNAME ‘ZZ_XHRQ’.这个是要控制的字段名
  LS_STYLEROW-STYLE CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.这个方法是控制style是否可用,与之对应的有个     MC_STYLE_ENABLED,根据不同的逻辑替换
  INSERT LS_STYLEROW INTO TABLE  LT_STYLETAB.

  T_ITAB-FIELD_STYLE[] LT_STYLETAB[].
  MODIFY T_ITAB.
  ENDLOOP.

 HOUT2 ZZ_XHRQ      ‘销毁日期’              8   CHAR . 根据不同的逻辑用不同的宏

最后在定义alv属性的时候加上 PS_LAYOUT-STYLEFNAME ‘FIELD_STYLE’. 这个名字是前面在内表中定义的结构名字

想让修改的字段保存到内表则需要用edt_cll_cb退出可编辑单元格时回调”。

  DATAI_GRID_SETTINGS TYPE LVC_S_GLAY.
  I_GRID_SETTINGS-EDT_CLL_CB ‘X’.

在那个FUCTION中加一行

I_GRID_SETTINGS          I_GRID_SETTINGS


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值