OO ALV常用功能完整简例(热键单击,双击,帮助,编辑,自定义工具条等)

本文详细介绍了如何在ALV组件中实现双击事件处理,包括定义类、数据读取、显示数据以及事件绑定等关键步骤。通过实例代码演示了如何在双击时触发特定操作,展示了ALV组件的强大交互能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OO ALV常用功能完整简例(热键单击,双击,帮助,编辑,自定义工具条等)


我感兴趣的双击事件的要点如下:

1.定义类实现类

在最开头要声明一下定义好的类

CLASS ALV_EVENT_RECEIVER DEFINITION DEFERRED.

这样以后,后面才能依据这个类生成别的类或者实例


CLASS alv_event_receiver DEFINITION.

    "双击时触发
    METHODS handle_double_click  FOR EVENT double_click  OF cl_gui_alv_grid
      IMPORTING
        e_row
        e_column
        es_row_no.


CLASS alv_event_receiver IMPLEMENTATION.                                                              类

    METHOD handle_double_click.
    "获取单击字段
    DATA: l_msg      TYPE string,
          l_wa_click LIKE LINE OF g_it_show,
          l_row      TYPE string,
          l_field    TYPE string.

    l_field      e_column-fieldname.               "选中行
    l_row        es_row_no-row_id.                 "选中的字段

    READ TABLE g_it_show INTO l_wa_click INDEX es_row_no-row_id .

    IF sy-subrc 0.
      "得到所单击值
      CONCATENATE '您选中第' l_row  '行,字段为:' l_field  ',选中值为:'  INTO l_msg.

      CASE l_field.
        WHEN 'CONNID'.
          CONCATENATE l_msg l_wa_click-connid INTO l_msg.
          MESSAGE l_msg TYPE 'I'.
        WHEN 'FLDATE'.
          CONCATENATE l_msg l_wa_click-fldate INTO l_msg.
          MESSAGE l_msg TYPE 'I'.
      ENDCASE.

    ENDIF.
  ENDMETHOD.                    "handle_DOUBLE_CLICK

2.数据从透明表读到内表g_it_show中

SELECT carrid
      connid
      fldate
      price
    
FROM sflight INTO CORRESPONDING FIELDS OF  TABLE g_it_show.           内表

3.显示内表数据

    CALL METHOD g_alv_grid->set_table_for_first_display                                                          ALV
      EXPORTING
        is_layout            ls_layout
        is_variant           l_disvariant
        it_toolbar_excluding gt_tools
      CHANGING
        it_fieldcatalog      it_fieldcatalog[]
        it_outtab            g_it_show[].                                                                                                    内表


4.EVENT事件绑定

    DATA : g_event  TYPE REF TO  alv_event_receiver.                                           类

    CREATE OBJECT g_event.

    SET HANDLER   g_event->handle_double_click FOR g_alv_grid.             ALV

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值