CL_SALV_TABLE 能否像 CL_GUI_ALV_GRID 那样在网格上方显示工具栏?
Can CL_SALV_TABLE display a toolbar above the grid, as does CL_GUI_ALV_GRID?
我已经使用 CL_SALV_TABLE
创建了一个报告,现在我想使用网格中 CL_GUI_ALV_GRID
显示的工具栏,这可能吗?
(即可以 CL_SALV_TABLE
在容器中显示 ALV 网格而不是全屏模式)
这里是最简单的代码(容器是在这里使用最小技巧实现的,但您也可以通过 dynpro 中的自定义容器实现,CL_GUI_DOCKING_CONTAINER,等等;此外,工具栏仅显示如果至少启用了一个 button/function):
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.
我已经使用 CL_SALV_TABLE
创建了一个报告,现在我想使用网格中 CL_GUI_ALV_GRID
显示的工具栏,这可能吗?
(即可以 CL_SALV_TABLE
在容器中显示 ALV 网格而不是全屏模式)
这里是最简单的代码(容器是在这里使用最小技巧实现的,但您也可以通过 dynpro 中的自定义容器实现,CL_GUI_DOCKING_CONTAINER,等等;此外,工具栏仅显示如果至少启用了一个 button/function):
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.