abap 添加alv上的工具栏的按钮_自定义ALV控件的工具条按钮

CLASS lcl_event_receiver DEFINITION DEFERRED.

DATA: itab TYPE TABLE OF spfli,

wa TYPE spfli.

DATA: name TYPE scrfname VALUE 'ALV',

container TYPE REF TO cl_gui_custom_container,

alv_grid TYPE REF TO cl_gui_alv_grid.

DATA: event_receiver TYPE REF TO lcl_event_receiver.

DATA: save_ok TYPE sy-ucomm,

ok_code TYPE sy-ucomm.

SELECT * FROM spfli INTO TABLE itab.

CALL SCREEN 100.

*&---------------------------------------------------------------------*

*&       Class LCL_EVENT_RECEIVER

*&---------------------------------------------------------------------*

*        Toolbar and user command event handle

*----------------------------------------------------------------------*

CLASS lcl_event_receiver DEFINITION.

PUBLIC SECTION.

METHODS:

handle_toolbar FOR EVENT toolbar OF c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ABAP 中,要在 ALV 工具栏自定义菜单下拉按钮,可以按照以下步骤进行: 1. 定义一个类型为 `TYPE-POOLS: SLIS.` 的本地类型,以便使用 ALV 函数。 2. 在程序中定义一个结构体来存储自定义按钮的属性,例如按钮名称、按钮文本、回调方法等。 3. 在程序中定义一个内部表,将所有自定义按钮的属性存储在内部表中。 4. 使用 `cl_salv_table=>get_functions( )` 方法获取 ALV 表格的功能列表。 5. 使用 `cl_salv_functions_list=>create_function( )` 方法创建自定义按钮,并将其添加ALV 功能列表中。 6. 最后,使用 `cl_salv_table=>set_functions( )` 方法将新的 ALV 功能列表应用于 ALV 表格。 下面是一个示例代码,演示如何在 ALV 工具栏添加一个自定义按钮: ``` TYPES: BEGIN OF t_button, name TYPE slis_funcname, text TYPE slis_funcdesc, callback TYPE slis_selfunc, END OF t_button. DATA: it_buttons TYPE STANDARD TABLE OF t_button WITH DEFAULT KEY, wa_button TYPE t_button. wa_button-name = 'MY_BUTTON'. wa_button-text = 'My Button'. wa_button-callback = 'MY_CALLBACK'. APPEND wa_button TO it_buttons. DATA: lo_functions TYPE REF TO cl_salv_functions_list, lo_func TYPE REF TO cl_salv_function, lo_table TYPE REF TO cl_salv_table. lo_table = cl_salv_table=>factory( ). lo_functions = lo_table->get_functions( ). LOOP AT it_buttons INTO wa_button. lo_func = cl_salv_functions_list=>create_function( name = wa_button-name text = wa_button-text self = me method = wa_button-callback ). lo_functions->add_function( lo_func ). ENDLOOP. lo_table->set_functions( lo_functions ). ``` 在上述代码中,`it_buttons` 是一个内部表,存储了自定义按钮的属性信息。`lo_functions` 是一个 `cl_salv_functions_list` 类型的对象,用于管理 ALV 表格的功能列表。`lo_func` 是一个 `cl_salv_function` 类型的对象,用于创建自定义按钮。最后,使用 `lo_table->set_functions( lo_functions )` 方法将自定义按钮应用到 ALV 表格中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值