ABAP--处理'REUSE_ALV_GRID_DISPLAY'的双击事件

本文介绍如何在ABAP中使用ALV Grid显示数据,并实现双击事件处理及颜色变化功能。通过定义命令处理、调用REUSE_ALV_GRID_DISPLAY函数模块,实现了对表格数据的交互操作。
部署运行你感兴趣的模型镜像

1 定义命令处理Form
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
                  RS_SELFIELD TYPE SLIS_SELFIELD.

  DATA: VBELN1 LIKE L_SPETAB-VBELN, VBTYP1 LIKE L_SPETAB-VBTYP.
  RS_SELFIELD-REFRESH = 'X'.     "控制grid产生新屏幕
  CASE R_UCOMM.
    WHEN  'BEAN' OR '&IC1'.  "双击事件
      LOOP AT L_SPETAB WHERE SELK = 'X' .
        VBELN1 = L_SPETAB-VBELN.
        VBTYP1 = L_SPETAB-VBTYP.
        CALL FUNCTION 'RV_CALL_CHANGE_TRANSACTION'
          EXPORTING
            VBELN = VBELN1
            VBTYP = VBTYP1.

        COL = COL_BEARBEITEN.
        FARB-FARB2 = COL.
        L_SPETAB-COL = FARB.
        LF_LAYOUT-INFO_FIELDNAME    = 'L_SPETAB-COL'.   
        MODIFY L_SPETAB.
        CLEAR: VBELN1, VBTYP1.
      ENDLOOP.
      IF SY-SUBRC NE 0.
        READ TABLE L_SPETAB INDEX RS_SELFIELD-TABINDEX.
        IF SY-SUBRC = 0.
          REPLACE '1-' WITH ' ' INTO RS_SELFIELD-SEL_TAB_FIELD.
          CONDENSE RS_SELFIELD-SEL_TAB_FIELD NO-GAPS.
          FELD = RS_SELFIELD-SEL_TAB_FIELD.
          PERFORM SELECT USING RS_SELFIELD-TABINDEX.
          CLEAR FELD.
        ENDIF.
      ENDIF.
      RS_SELFIELD-COL_STABLE = 'X'.
      RS_SELFIELD-ROW_STABLE = 'X'.
  ENDCASE.

ENDFORM.                    "USER_COMMAND

2 定义一个常量包含"USER_COMMAND"
DATA:    L_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.

3 调用REUSE_ALV_GRID_DISPLAY
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
*           I_BUFFER_ACTIVE          = 'X'
*           I_BACKGROUND_ID          = 'ALV_BACKGROUND'
            I_CALLBACK_PROGRAM       = L_REPID
*           I_CALLBACK_PF_STATUS_SET = L_STATUS
            I_CALLBACK_USER_COMMAND  = L_USER_COMMAND
*           I_STRUCTURE_NAME         = 'VBUK'
*            IS_LAYOUT                = LF_LAYOUT
            IT_FIELDCAT              = LF_FIELDCAT[]
*           IT_EXCLUDING             =
*           IT_SPECIAL_GROUPS        = LF_SP_GROUP
*           I_DEFAULT                = 'X'
*           I_SAVE                   = L_SAVE
*           IS_VARIANT               = L_VARIANT
*           IT_EVENTS                = LF_EVENTS[]
*           I_SCREEN_START_COLUMN    = 0
*           I_SCREEN_START_LINE      = 0
*           I_SCREEN_END_COLUMN      = 0
*           I_SCREEN_END_LINE        = 0
*     IMPORTING
*           E_EXIT_CAUSED_BY_CALLER  =
*           ES_EXIT_CAUSED_BY_USER   =
       TABLES
            T_OUTTAB                 = L_SPETAB .

相关连接:http://blog.youkuaiyun.com/CompassButton/archive/2006/09/08/1195672.aspx 

 

Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1412377


您可能感兴趣的与本文相关的镜像

Wan2.2-T2V-A5B

Wan2.2-T2V-A5B

文生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值