ABAP ALV可编辑

 

 完整可执行代码

REPORT YZWG0006.


TYPES:
  BEGIN OF TY_ALV,
    REL   TYPE C,
    STYLE TYPE lvc_t_styl,
    BUKRS TYPE T001-BUKRS,
    BUTXT TYPE T001-BUTXT,
  END OF TY_ALV,
  TT_ALV TYPE STANDARD TABLE OF TY_ALV.



DATA:
  GS_LAYOUT1   TYPE LVC_S_LAYO,
  GT_FIELDCAT  TYPE LVC_T_FCAT,
  GT_ALV       TYPE TT_ALV,
  gt_style     TYPE lvc_t_styl,
  gs_style     TYPE lvc_s_styl,
  GS_ALV       TYPE TY_ALV.


START-OF-SELECTION.


  SELECT BUKRS BUTXT UP TO 3 ROWS
    INTO CORRESPONDING FIELDS OF TABLE GT_ALV
    FROM T001.


  PERFORM F_EDIT_FCAT USING:
          '' 'BUKRS' '公司' ,
          'X' 'BUTXT' '公司名' .


* LAYOUT编辑
  GS_LAYOUT1-BOX_FNAME  = 'REL'.
  GS_LAYOUT1-ZEBRA      = ABAP_TRUE.
  GS_LAYOUT1-CWIDTH_OPT = ABAP_TRUE.
  GS_LAYOUT1-STYLEFNAME = 'STYLE'.

  LOOP AT GT_ALV ASSIGNING FIELD-SYMBOL(<fs_alv>).

    CLEAR:gs_style,
          gt_style.
    IF <fs_alv>-bukrs <> '1000'.
      gs_style-fieldname = 'BUTXT'.
      gs_style-style  =  cl_gui_alv_grid=>mc_style_disabled.
      APPEND gs_style to gt_style.

      <fs_alv>-style = gt_style.
    ENDIF.

  ENDLOOP.

* ALV显示
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      I_CALLBACK_PROGRAM       = SY-REPID
*      I_CALLBACK_PF_STATUS_SET = 'F_SET_STATUS1'
*      I_CALLBACK_USER_COMMAND  = 'F_USER_COMMAND1'
*      I_GRID_SETTINGS          = LS_GLAY
      IS_LAYOUT_LVC            = GS_LAYOUT1
      I_SAVE                   = ABAP_ON
      IT_FIELDCAT_LVC          = gT_FIELDCAT
    TABLES
      T_OUTTAB                 = GT_ALV.


*&---------------------------------------------------------------------*
*&      Form  F_EDIT_FCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM f_edit_fcat  USING V_V1
                        V_V2
                        V_V3.
  DATA:
    LS_FIELDCAT TYPE LVC_S_FCAT.
  CLEAR LS_FIELDCAT.

  LS_FIELDCAT-EDIT         = V_V1.        "可编辑
  LS_FIELDCAT-FIELDNAME    = V_V2.   "要显示的字段
  LS_FIELDCAT-COLTEXT      = V_V3.     "字段名
  APPEND LS_FIELDCAT TO GT_FIELDCAT.
ENDFORM.

转载设定ALV颜色的

ALV单元格颜色

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值