ALV类应用-GRID

ALV的应用,除了直接调用函数以外,另一种发发就是利用类,具体步骤如下:

一。创建容器。
这就需要为程序添加Dynpro画面,并在屏幕中创建容器,用来显示ALV。例如容器控件名称为‘CUST_01’。

[@more@]

ALV的应用,除了直接调用函数以外,另一种发发就是利用类,具体步骤如下:

一。创建容器。
这就需要为程序添加Dynpro画面,并在屏幕中创建容器,用来显示ALV。例如容器控件名称为‘CUST_01’。

二。定义类。
*类定义
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
* 方法(双击事件)
METHODS: handle_double_click
FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING e_row e_column.
PRIVATE SECTION.
ENDCLASS. "lcl_event_receiver DEFINITION
*类声明
CLASS lcl_event_receiver IMPLEMENTATION.
* 方法(双击事件)
METHOD handle_double_click.
* 方法(双击事件)实现
PERFORM screen_call_order USING e_row-index.
ENDMETHOD. "handle_double_click

三。定义对象及相关变量。
* ALV输出用
DATA:
* 输出
rec_layout TYPE lvc_s_layo,
* ALV用标准类
grid1 TYPE REF TO cl_gui_alv_grid,
event_receiver TYPE REF TO lcl_event_receiver,
* CFW用标准类
custom_container1 TYPE REF TO cl_gui_custom_container,
* variant
rec_variant TYPE disvariant,
* fieldcatalog
rec_fieldcatalog TYPE lvc_s_fcat,
tab_fieldcatalog TYPE TABLE OF lvc_s_fcat.
上面是一些ALV输出用的基本定义,下面是创建对象:
* 容器控件创建
CREATE OBJECT custom_container1
" CL_GUI_CUSTOM_CONTAINER
EXPORTING
container_name = ‘CUST_01’
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.

* ALV对象创建
CREATE OBJECT grid1 " CL_GUI_ALV_GRID
EXPORTING i_parent = custom_container1
i_appl_events = 'X'.
以上的CREAT是在第一步的DYNPRO的PBO里面做的。

四。设置以及调用方法。
CALL METHOD grid1->set_table_for_first_display
EXPORTING
i_structure_name = XXX " 列构造(需要自己声明定义)
is_layout = rec_layout " ALV Layout构造
i_save = 'A'
is_variant = rec_variant
it_toolbar_excluding = tab_toolbar
CHANGING
it_outtab = tab_alv[] " 列数据
it_fieldcatalog = tab_fieldcatalog[].
CREATE OBJECT EVENT_RECEIVER.
SET HANDLER EVENT_RECEIVER->HANDLE_DOUBLE_CLICK FOR GRID1.
CALL METHOD GRID1->SET_READY_FOR_INPUT
EXPORTING
I_READY_FOR_INPUT = 1.
ENDIF.
上面的tab_toolbar是有关机能码的内部表,定义如下:
DATA:tab_toolbar TYPE ui_functions. "机能码
此方法调用仍然是在PBO里面完成的。

还有其他方法的调用:

CALL METHOD grid1->refresh_table_display.
刷新画面用,支持针对USER-COMMAND的操作,当你对ALV输出做了变动的时候,可调用此方法对画面进行更新输出。

CALL METHOD grid1->get_selected_rows
IMPORTING
et_index_rows = l_lvc_t_row.
取得被选择行的行信息,你可在此基础上进行明细查看以及其他的具体操作等。

以上只是简单的介绍了一下,要想充分掌握理解,最好自己实践一下。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/547380/viewspace-886423/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/547380/viewspace-886423/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值