ABAP 动态内表 控制单元格编辑状态

普通ALV的单元格编辑控制的写法很容易在网上找到,但对于动态内表需要有一些小改造,可参考下方代码。

新增fieldcat输出列,设置为技术字段,并参考表和字段后再根据fieldcat字段列创建动态内表。

FIELD-SYMBOLS:<ft_data> TYPE STANDARD TABLE.

  gt_fieldcat = VALUE #( BASE gt_fieldcat ( fieldname = 'CELLTAB' tech = abap_true ref_table = 'WTY_PARTNER_DYNPRO' ref_field = 'STYL' ) ).
  "创建动态内表
  CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
      it_fieldcatalog = gt_fieldcat
    IMPORTING
      ep_table        = gt_data. 
  ASSIGN gt_data->* TO <ft_data>.

设置layout

gs_layout-stylefname    'CELLTAB'.   "行/单元格可编辑 

单元格编辑控制 

  1.   DATA fstyle  TYPE lvc_t_styl.       " 单元格样式
       ASSIGN COMPONENT 'CELLTAB' OF STRUCTURE <dyn_emp> TO FIELD-SYMBOL(<fs_style>).
        IF sy-subrc = 0.
           fstyle = VALUE #( BASE fstyle ( fieldname = lv_feid style = cl_gui_alv_grid=>mc_style_disabled  ) ).
           MOVE-CORRESPONDING fstyle TO <fs_style>.
        ENDIF. 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值