问题描述
我已经使用CL_SALV_TABLE
创建了一个报告,现在我想使用CL_GUI_ALV_GRID
在网格中显示的工具栏,这可能吗?
(即可以CL_SALV_TABLE
在容器中而不是全屏模式下显示ALV网格)
解决方法
这是最简单的代码(此处使用最小技巧实现了容器,但是您也可以通过dynpro,CL_GUI_DOCKING_CONTAINER等中的自定义容器来实现;此外,仅在至少一个按钮/功能已启用):
PARAMETERS dummy.
AT SELECTION-SCREEN OUTPUT.
PERFORM display USING cl_gui_container=>screen0.
FORM display USING container TYPE REF TO cl_gui_container.
SELECT * FROM sflight INTO TABLE @DATA(sflight_lines).
CALL METHOD cl_salv_table=>factory
EXPORTING
r_container = container
IMPORTING
r_salv_table = DATA(salv)
CHANGING
t_table = sflight_lines.
salv->get_functions( )->set_all( ).
salv->display( ).
ENDFORM.