ABAP OOALV删除TOOLBAR按钮

OOALV (单标题展示)方法如下:

其中设置一个参数it_toolbar_excluding 就可以把不需要的按钮删除了。

DATA GR_GRID TYPE REF TO CL_GUI_ALV_GRID.

.....定义CONTAINER...."用于展示EnjoySAP 所有控件的容器,视窗。

.....定义GR_GRID....." 要在CONTAINER中使用哪种EnjoySAP控件,选择了:GR_GRID (CL_GUI_ALV_GRID)
                     " ALV单层标题展示控件技术.

.....实例化...create object  GR_GRID exporting  ......(参数皆为 CONSTRUCTOR方法参数,并且只能有传入参数)。

.....调用实例GR_GRID的方法,最终展示ALV..

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

展示方法如下:

ABAP OOALV删除TOOLBAR按钮===>传入参数置为黄色.

 CALL METHOD GR_GRID->set_table_for_first_display
    EXPORTING
      is_variant           = gs_variant
      i_save               = ' '
      is_layout            = gs_layout
      it_toolbar_excluding = gt_exclude
    CHANGING
      it_outtab            = gt_result1[]
      it_fieldcatalog      = gt_fcat_lvc.

gt_exclude 如何设置呢?他的技术属性如何呢?

1.技术属性:

定义内表 用于传入参数

DATA : gt_exclude TYPE ui_functions.

注意:ui_functions是一个由CHAR70构成的表结构。

故GT_EXCLUDE内表是一个只有一个字段的CHAR70的内表。

2.怎么赋值:

DATA: ls_exclude TYPE ui_func.

注意:ui_func 是构成ui_functions 的结构。
  DATA: ls_exclude TYPE ui_func.
  ls_exclude = cl_gui_alv_grid=>mc_fc_maximum .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_minimum .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_subtot .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_sum .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_average .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_mb_sum .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_mb_subtot .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_sort_asc.
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_sort_dsc .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_find .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_filter .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_print .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_print_prev .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_mb_export .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_graph .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_mb_view .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_detail .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_help .
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_info .
  APPEND ls_exclude TO pt_exclude.

   ls_exclude = cl_gui_alv_grid=>MC_MB_VARIANT.
  APPEND ls_exclude TO pt_exclude.

注意:cl_gui_alv_grid=>mc_fc_maximum 这些类似的静态变量存的是什么东西呢?

我们进入SE24 ,输入CL_GUI_ALV_GRID.

进去后进入ATTRIBUTES标签页,就会看到这些变量,当然也在程序中双击直接导航进去,查询默认值.

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ABAP OOALV 中,可以使用 CL_GUI_ALV_GRID 类来实现菜单下拉栏按钮。首先,需要创建一个继承自 CL_GUI_ALV_GRID 的子类,并重写其 GET_TOP_OF_PAGE 方法。在该方法中,可以使用以下代码来创建菜单下拉栏按钮: ```abap METHOD get_top_of_page. DATA: lr_functions TYPE REF TO cl_salv_functions_list, lr_function TYPE REF TO cl_salv_function, lr_menu TYPE REF TO cl_gui_context_menu, lr_submenu TYPE REF TO cl_gui_context_menu. super->get_top_of_page( ). IF me->alv_functions IS INITIAL. lr_functions = me->get_functions( ). lr_function = lr_functions->add_function( function_name = 'MY_FUNCTION' icon_name = 'ICON_NAME' text = 'MY_TEXT' ). lr_menu = lr_function->get_context_menu( ). lr_submenu = lr_menu->create_submenu( text = 'MY_SUBMENU' ). lr_submenu->add_function( function_name = 'MY_SUBFUNCTION' icon_name = 'ICON_NAME' text = 'MY_SUBTEXT' ). ENDIF. ENDMETHOD. ``` 以上代码中,我们首先获取了 ALV 的函数列表对象,并添加了一个自定义的函数 MY_FUNCTION。然后,我们通过该函数的 get_context_menu 方法获取了一个菜单对象 lr_menu,并创建了一个子菜单 lr_submenu。最后,我们在子菜单中添加了一个自定义的函数 MY_SUBFUNCTION。 需要注意的是,在以上代码中,MY_FUNCTION、MY_SUBFUNCTION、ICON_NAME、MY_TEXT、MY_SUBTEXT 都需要根据实际情况进行替换。此外,如果需要在菜单下拉栏按钮上显示图标,还需要提供相应的图标名称。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChampaignWolf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值