ALV demo:cl_salv_table&nbsp…

效果图:
ALV <wbr>demo:cl_salv_table <wbr>event:(on_user_command,on_double_click)

定义的status
ALV <wbr>demo:cl_salv_table <wbr>event:(on_user_command,on_double_click)
ALV <wbr>demo:cl_salv_table <wbr>event:(on_user_command,on_double_click)

code:

REPORT zlm_alv_002 .

DATA : gt_spfli  TYPE  TABLE  OF spfli .
DATA : ls_spfli  TYPE spfli .
DATA : gr_table  TYPE  REF  TO cl_salv_table .
DATA : gr_functions  TYPE  REF  TO cl_salv_functions_list .
DATA : gr_events  TYPE  REF  TO cl_salv_events_table .
DATA : gr_selections  TYPE  REF  TO cl_salv_selections .

CLASS lcl_handle_events  DEFINITION .
    PUBLIC  SECTION .
        METHODS :
            on_user_command  FOR  EVENT added_function  OF cl_salv_events  IMPORTING e_salv_function ,
            on_double_click  FOR  EVENT double_click  OF cl_salv_events_table  IMPORTING row  column .
ENDCLASS .  "lcl_handle_events DEFINITION

DATA : event_handler  TYPE  REF  TO lcl_handle_events .

START-OF-SELECTION .

    SELECT  INTO CORRESPONDING  FIELDS  OF  TABLE gt_spfli  FROM spfli  UP  TO  100  ROWS .

    CALL  METHOD cl_salv_table =>factory  IMPORTING r_salv_table  gr_table  CHANGING t_table  gt_spfli .

    gr_table ->set_screen_status ( pfstatus  'SALV_TABLE_STANDARD'
                                                  report sy -repid
                                                  set_functions  gr_table ->c_functions_all  ) .

    gr_events  gr_table ->get_event (  ) .
    CREATE OBJECT  event_handler .
    SET  HANDLER event_handler ->on_user_command  FOR gr_events .
    SET  HANDLER event_handler ->on_double_click  FOR gr_events .

Set up selections.
    gr_selections  gr_table ->get_selections (  ) .
    gr_selections ->set_selection_mode (  ) .  "Single

Display
    gr_table ->display (  ) .

CLASS lcl_handle_events  IMPLEMENTATION .
    METHOD on_user_command .
        "Get the selection rows
        DATA : lr_selections  TYPE  REF  TO cl_salv_selections .
        DATA : lt_rows  TYPE salv_t_row .
        DATA : ls_rows  TYPE  i .
        DATA :  message  TYPE string .
        CASE e_salv_function .
            WHEN  'MYFUNCTION' .
                lr_selections  gr_table ->get_selections (  ) .
                lt_rows  lr_selections ->get_selected_rows (  ) .

                READ  TABLE lt_rows  INTO ls_rows  INDEX  1 .
                READ  TABLE gt_spfli  INTO ls_spfli  INDEX ls_rows .
                CONCATENATE ls_spfli -carrid  ls_spfli -connid  ls_spfli -cityfrom  ls_spfli -cityto  INTO  message  SEPARATED  BY space .
                MESSAGE i001 ( 00 )  WITH  'You pushed the button!'  message .
        ENDCASE .
    ENDMETHOD .  "on_user_command

    METHOD on_double_click .
        DATA :  message  TYPE string .
        DATA : row_c ( 4 )  TYPE  c .
        row_c  row .
        CONCATENATE  'Row' row_c  'Column' column  INTO  message  SEPARATED  BY space .
        MESSAGE i001 ( 00 )  WITH  'You double-clicked on  message .
    ENDMETHOD .
ENDCLASS . 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值