您的位置:首页 > 其它

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

2015-08-18 14:15 477 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: