前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SAP ABAP OOALV添加自定义按钮

SAP ABAP OOALV添加自定义按钮

作者头像
matinal
发布2023-10-13 14:05:58
5060
发布2023-10-13 14:05:58
举报
文章被收录于专栏:SAP Technical
代码语言:javascript
复制
SAP在做报表开发中,不同公司对报表的风格往往各异,为此经常在使用OO方法做ALV报表中需要去掉自带的工具栏而自行添加一些工具按钮,下面将简单介绍一下添加按钮及如何响应的实现方法:
 步骤一:创建一个事件处理类
    CLASS lcl_event_receiver DEFINITION.
 * public attributes and method
   PUBLIC SECTION.
     METHODS:
      handle_toolbar     FOR EVENT toolbar OF cl_gui_alv_grid
        IMPORTING
          e_object,
      handle_user_command FOR EVENT user_command OF cl_gui_alv_grid
        IMPORTING
          e_ucomm,
 ENDCLASS.                    "lcl_event_receiver DEFINITION
 注意这个事件处理类中添加了两个方法,第一个方法负责往工具栏上添加按钮,第二个方法用来响应工具栏上按钮的动作
 步骤二:类的实现
    CLASS lcl_event_receiver IMPLEMENTATION.
* method toolbar handler
   METHOD handle_toolbar.
    PERFORM set_toolbar CHANGING e_object.
   ENDMETHOD.                    "handle_toolbar
 
     METHOD handle_user_command.
 *   Handle own functions defined in the toolbar
     CASE e_ucomm.
       WHEN 'ADD'.
        PERFORM xyz. “这里你想干嘛就可以干嘛
     ENDCASE.
  ENDMETHOD.                    "handle_user_command
 
    ENDCLASS.                    "lcl_event_receiver IMPLEMENTATION
 步骤三:在FORM-----set_toolbar 中添加button
    FORM set_toolbar 
 CHANGING prf_object TYPE REF TO cl_alv_event_toolbar_set.
  CLEAR prf_object->mt_toolbar.
  CLEAR  gs_toolbar.
   MOVE   'ADD'            TO   gs_toolbar-function.
   MOVE                    TO      gs_toolbar-quickinfo.
   MOVE                    TO   gs_toolbar-text.
   MOVE   ' '              TO   gs_toolbar-disabled.
   INSERT gs_toolbar       INTO prf_object->mt_toolbar INDEX 1.
ENDFORM.                    " set_toolbar1
 
 步骤四:创建事件处理对象--这一步一般在  grf_grid->set_table_for_first_display 之后
    SET HANDLER grf_event_receiver->handle_user_command FOR grf_grid.
   SET HANDLER grf_event_receiver->handle_toolbar  FOR grf_grid.
   CALL METHOD grf_grid->set_toolbar_interactive.
 
 
 注意:STB_BUTTON结构包含的字段
 FUNCTION         UI_FUNC    CHAR 70 0 Function Code
 ICON             ICONNAME   CHAR 30 0 Name of an Icon
 QUICKINFO        ICONQUICK  CHAR 30 0 Quickinfo for an icon
 BUTN_TYPE        TB_BTYPE   INT4 10 0 Toolbar button type
 DISABLED         CHAR            1  0 Disabled
 TEXT             TEXT40     CHAR 40 0 Text, 40 Characters Long
 CHECKED          CHAR             1 0 Printed
 TB_BTYPE 的可选择值 ,主要用来决定按钮的类型  
 0 Button (normal)
 1 Menu and default button
 2 Menu
 3 Separator
 4 Radio button
 5 Checkbox
 6 Menu entry
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档