当我们要弹出一个对话框窗口用ALV显示数据时,其实和OO的ALV一样,只不过换一个容器:CL_GUI_DIALOGBOX_CONTAINER(弹出对话框的container)。
具体使用方法:
数据定义:
DATA GV_CON_DIABOX TYPE REF TO CL_GUI_DIALOGBOX_CONTAINER. “定义容器
DATA GV_ALV_POPUP TYPE REF TO CL_GUI_ALV_GRID. “定义弹出的ALV
定义事件:
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
METHODS:
ON_CLOSE
FOR EVENT CLOSE OF CL_GUI_DIALOGBOX_CONTAINER
IMPORTING SENDER.
ENDCLASS.
CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.
METHOD ON_CLOSE.
CALL METHOD SENDER->FREE.
FREE: GV_CON_DIABOX, GV_ALV_POPUP.
ENDMETHOD.
ENDCLASS.
DATA GV_EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER.
创建ALV对象:
IF GV_CON_DIABOX IS INITIAL.
CREATE OBJECT GV_CON_DIABOX
EXPORTING
width = 700
height = 200
top = 70
left = 140
caption = ‘TEST’
EXCEPTIONS
OTHERS = 1.
SET HANDLER GV_EVENT_RECEIVER->ON_CLOSE FOR GV_CON_DIABOX. “注册事件
CREATE OBJECT GV_ALV_POPUP
EXPORTING
I_PARENT = GV_CON_DIABOX.
ENDIF.
显示ALV:
CALL METHOD GV_ALV_POPUP->SET_TABLE_FOR_FIRST_DISPLAY
CHANGING
it_outtab = ITAB_COMMENT
IT_FIELDCATALOG = lv_fieldcat
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
others = 4.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11671405/viewspace-432978/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11671405/viewspace-432978/