繁体   English   中英

带有 ALV Grid 和 Tabstrip 控件的分屏

[英]Split screens with ALV Grid and Tabstrip control

我想问一下在ALV中拆分以下屏幕的正确方法:

  1. CL_GUI_ALV_GRID 类型的第一个屏幕
  2. 第二个屏幕是带有标签条控件的子屏幕

使用 docker 在运行时调整屏幕大小会出现问题。 我无法为两个屏幕提供比率。 有没有办法将 CL_GUI_SPLITTER_CONTAINER 也用于带有 Tab 条控件的屏幕?

谢谢 !

以下代码对窗口高度的变化作出反应。 它不会对窗口宽度做出反应,这是 Dynpro 的限制,所以大多数时候它会对 Windows 按钮最小化和恢复做出反应,除非窗口正好位于显示器的左半部分或右半部分(组合键 Windows+Left 和视窗+右)。 SY-SCOLS 和 SY-SROWS 是我知道的在显示 dynpro 屏幕时获取窗口大小的唯一方法,但可能还有其他方法。

DATA go_docking TYPE REF TO cl_gui_docking_container.
DATA ok_code TYPE syucomm.
DATA ratio TYPE i VALUE 70.
DATA pixels_by_sy_scol TYPE p DECIMALS 2.

CALL SCREEN 100.

MODULE pbo OUTPUT.
  IF go_docking IS INITIAL.
    CREATE OBJECT go_docking
      EXPORTING
        repid = sy-repid
        dynnr = sy-dynnr
        side  = cl_gui_docking_container=>dock_at_left
        ratio = ratio.
    go_docking->get_extension( IMPORTING extension = DATA(extension) ).
    cl_gui_cfw=>flush( ). " to calculate the extension (by default in pixels)
    pixels_by_sy_scol = extension * 100 / ratio / sy-scols.
  ELSE.
    go_docking->set_extension( sy-scols * pixels_by_sy_scol * ratio / 100 ).
  ENDIF.
ENDMODULE.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM