zoukankan      html  css  js  c++  java
  • OO实现ALV-SALV-实战攻略3-2-ALV工具栏自定义按钮展示方式

    REPORT ZSALV-01.
    *SALV自定义按钮功能
    *变量定义
    DATA: S_ALV TYPE REF TO CL_SALV_TABLE.
    "class 定义
    CLASS SALV_DISPLAY DEFINITION."基础类
      PUBLIC SECTION.
        METHODS: DISPLAYDATA ."方法
        EVENTS:FUNCTION ."事件
      PRIVATE SECTION.
        DATA:LR_FUNCTIONS TYPE REF TO CL_SALV_FUNCTIONS,
             LR_EVENTS    TYPE REF TO CL_SALV_EVENTS.
    ENDCLASS.
    CLASS SET_HANDLER DEFINITION.
      PUBLIC SECTION.
        "理解为为某个类的事件而产生的方法,相当于将2个类关联起来
        METHODS:USER_COMMAND FOR EVENT ADDED_FUNCTION OF CL_SALV_EVENTS_TABLE"直接使用该类的function事件
          IMPORTING E_SALV_FUNCTION.
    ENDCLASS.
    
    "class 实现
    CLASS SALV_DISPLAY IMPLEMENTATION.
      METHOD DISPLAYDATA.
        SELECT * INTO TABLE @DATA(LT_VBAK) FROM VBAK UP TO 10 ROWS.
        TRY.
            CL_SALV_TABLE=>FACTORY( IMPORTING R_SALV_TABLE   = S_ALV  CHANGING T_TABLE = LT_VBAK ).
          CATCH CX_SALV_MSG .
        ENDTRY.
    *    LR_FUNCTIONS = S_ALV->GET_FUNCTIONS( ).
    *    LR_FUNCTIONS->SET_ALL( ABAP_TRUE ).
        LR_EVENTS = S_ALV->GET_EVENT( ).
        "设置ALV功能
        S_ALV->SET_SCREEN_STATUS(
        PFSTATUS      =  'SALV_STANDARD1'
        REPORT        =  SY-REPID
        SET_FUNCTIONS = S_ALV->C_FUNCTIONS_ALL ).
        "=====事件注册
        DATA:HANDLER TYPE REF TO SET_HANDLER.
        CREATE OBJECT HANDLER.
        SET HANDLER HANDLER->USER_COMMAND FOR ALL INSTANCES.
        S_ALV->DISPLAY( ).
      ENDMETHOD.
    ENDCLASS.
    
    CLASS SET_HANDLER IMPLEMENTATION.
      METHOD USER_COMMAND.
        PERFORM USER_CLICK USING E_SALV_FUNCTION.
      ENDMETHOD.
    
    ENDCLASS.
    FORM USER_CLICK USING P_SALV_FUNCTION TYPE SALV_DE_FUNCTION.
      CASE P_SALV_FUNCTION.
        WHEN '&CLICK'.
          MESSAGE '你点击了我!' TYPE 'I'.
          S_ALV->REFRESH( ).
      ENDCASE.
    ENDFORM.
    
    START-OF-SELECTION.
      DATA:LR_ALV TYPE REF TO SALV_DISPLAY.
      CREATE OBJECT LR_ALV.
      LR_ALV->DISPLAYDATA( ).

     其中格式状态需要使用SE41自建一个或者复制一个标准的后自己添加一些按钮。

  • 相关阅读:
    Android 拍照 代码实例
    利用Android手机里的摄像头进行拍照
    看视频时,类加载器没太理解,现在再整理下几个要点
    关于java设计模式与极品飞车游戏的思考
    【Mood-3】心声
    源自梦想 eclipse快捷键整理
    2020重新出发,JAVA语言,JAVA的诞生和发展史
    2020重新出发,序章: 语言的诞生
    2020重新出发,JAVA学前了解,DOS常用命令
    2020重新出发,JAVA学前了解,Windosws常用快捷键
  • 原文地址:https://www.cnblogs.com/BruceKing/p/14628068.html
Copyright © 2011-2022 走看看