abap 添加alv上的工具栏的按钮_ABAP-AVL-OO方法中的ALV的如何自己添加按钮及其响应...

满意答案

念蕾nlnlpj

2014.02.21

采纳率:46%    等级:12

已帮助:4945人

步骤一:创建一个事件处理类CLASSlcl_event_receiverDEFINITION.

*publicattributesandmethodPUBLICSECTION.METHODS:handle_toolbarFOREVENTtoolbarOFcl_gui_alv_gridIMPORTINGe_object,

handle_user_commandFOREVENTuser_commandOFcl_gui_alv_gridIMPORTINGe_ucomm,

ENDCLASS.

"lcl_event_receiverDEFINITION

注意这个事件处理类中添加了两个方法,第一个方法负责往工具栏上添加按钮,第二个方法用来响应工具栏上按钮的动作

步骤二:类的实现CLASSlcl_event_receiver

IMPLEMENTATION.

*methodtoolbarhandlerMETHODhandle_toolbar.PERFORMset_toolbarCHANGINGe_object.ENDMETHOD.

"handle_toolbarMETHODhandle_user_command.

*HandleownfunctionsdefinedinthetoolbarCASEe_ucomm.WHEN'ADD'.PERFORMxyz. “这里你想干嘛就可以干嘛ENDCASE.ENDMETHOD.

"handle_user

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 ABAP ALV 添加工具栏按钮,可以使用以下步骤: 1. 在程序定义一个工具栏按钮。您可以使用函数模块 'REUSE_ALV_TOOLBAR_CREATE' 来创建按钮。 2. 使用函数模块 'REUSE_ALV_GRID_DISPLAY' 以及参数 'I_TOOLBAR_EXCLUDING' 将工具栏添加ALV 上,将按钮添加工具栏上。 3. 在程序添加处理按钮事件的代码。您可以使用函数模块 'REUSE_ALV_EVENT_GET' 来获取所需的事件 ID。 以下是添加工具栏按钮的示例代码: ```abap * 定义工具栏按钮 DATA: lt_toolbar TYPE STANDARD TABLE OF t_salv_tb_display, ls_toolbar TYPE t_salv_tb_display. ls_toolbar = VALUE #( function = 'Z_MY_FUNCTION' icon = 'ICON_NAME' quickinfo = 'BUTTON_TOOLTIP' ). APPEND ls_toolbar TO lt_toolbar. * 显示 ALV添加工具栏 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING it_fieldcat = lt_fieldcat i_callback_program = gv_prog_name i_callback_top_of_page = 'TOP_OF_PAGE' i_toolbar_title = 'TOOLBAR_TITLE' i_toolbar_excluding = 0 TABLES t_outtab = lt_output EXCEPTIONS program_error = 1 OTHERS = 2. * 处理按钮事件 CASE sy-ucomm. WHEN 'Z_MY_FUNCTION'. " 处理按钮点击事件 ENDCASE. ``` 如果您想要在工具栏添加下拉菜单按钮,可以使用函数模块 'REUSE_ALV_TOOLBAR_CREATE' 创建一个下拉按钮。以下是示例代码: ```abap * 创建下拉按钮 DATA: lt_toolbar TYPE STANDARD TABLE OF t_salv_tb_display, ls_toolbar TYPE t_salv_tb_display, lt_dropdown TYPE STANDARD TABLE OF t_salv_tb_display, ls_dropdown TYPE t_salv_tb_display. ls_toolbar-function = 'Z_MY_DROPDOWN'. ls_toolbar-icon = 'ICON_NAME'. ls_toolbar-quickinfo = 'BUTTON_TOOLTIP'. APPEND ls_toolbar TO lt_toolbar. ls_dropdown-function = 'Z_MY_FUNCTION'. ls_dropdown-icon = 'ICON_NAME'. ls_dropdown-quickinfo = 'MENU_ITEM_TOOLTIP'. APPEND ls_dropdown TO lt_dropdown. * 将下拉按钮添加工具栏 CALL FUNCTION 'REUSE_ALV_TOOLBAR_CREATE' EXPORTING i_style = cl_salv_toolbar=>c_style_dropdown CHANGING ct_toolbar = lt_toolbar ct_dropdown = lt_dropdown. * 显示 ALV添加工具栏 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING it_fieldcat = lt_fieldcat i_callback_program = gv_prog_name i_callback_top_of_page = 'TOP_OF_PAGE' i_toolbar_title = 'TOOLBAR_TITLE' i_toolbar_excluding = 0 TABLES t_outtab = lt_output EXCEPTIONS program_error = 1 OTHERS = 2. * 处理下拉菜单事件 CASE sy-ucomm. WHEN 'Z_MY_FUNCTION'. " 处理下拉菜单点击事件 ENDCASE. ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值