问题描述
我使用 cl_salv_table ALV 来处理 sflight 表数据。我想获取双击的字段的值,然后在弹出窗口中显示它。我用适当的方法定义了 lcl_handle_events 类。双击有效,例如当我双击任何行时,我可以显示消息,但我不知道如何显示双击的值。如何在弹出窗口中显示双击的单元格?
DATA schedule TYPE STANDARD TABLE OF sflight.
CLASS lcl_handle_events DEFinitioN.
PUBLIC SECTION.
METHODS:
on_double_click FOR EVENT double_click OF cl_salv_events_table
IMPORTING row column.
ENDCLASS.
CLASS lcl_handle_events IMPLEMENTATION.
METHOD on_double_click.
DATA value TYPE sflight.
READ TABLE schedule INTO value INDEX row.
* MESSAGE 'Row clicked.' TYPE 'I'.
ENDMETHOD.
ENDCLASS.
解决方法
您可以使用此功能: 'POPUP_TO_INFORM' 例如: 调用函数'POPUP_TO_INFORM' 出口 标题 = 'XXXXX' txt1 = 单击的行 txt2 = 'XXXXXXXX'。
,您有 double_click 事件的“列”参数。它包含字段名称,因此您可以使用字段符号访问该值:
FIELD-SYMBOLS: <clicked_field> TYPE any.
READ TABLE schedule INTO value INDEX row.
IF sy-subrc = 0.
ASSIGN COMPONENT lv_column of STRUCTURE value to <clicked_field>.
MESSAGE |Value of clicked field { <clicked_field> }| TYPE 'I'.
ENDIF.