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
我感兴趣的双击事件的要点如下:
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
相关文章推荐
- 最短路
- OC菜鸟成长记-OC中的字典
- 转场动画
- socket failed:EACCES(Permission denied)
- winform程序设计中,label,TextBox,ComboBox等几个控件几乎是用得最多的,在设计中经常会遇到一些小问题,如:comboBox控件绑定了数据源之后,如何设置默认值?
- JDK 1.6 写Webservice时,runtime modeler error: Wrapper class com.ws.jaxws.DoSomething is not found问题的解决办法
- Combinations
- php如何判断手机系统
- NSOperation的使用
- oracle读取文件
- 最短路径
- python读写文件,和设置文件的字符编码比如utf-8
- 如果忘记CitrixLicense Server的密码,造成无法登陆的话
- ffmpeg常用基本命令(转)
- HTML5 LocalStorage 本地存储
- 算法
- JAVA中的break[标签]continue[标签]用法
- Unix IPC之共享内存区(1)
- 最短路径
- Android四大组件之服务-Service 原理和应用开发详解