ABAP 分屏,控件拆分 在一个屏幕上显示多个ALV

相关类 :cl_gui_splitter_container

一、数据定义

DATA:
go_docking          TYPE REF TO cl_gui_docking_container, "全屏自适应
go_docking1         TYPE REF TO cl_gui_docking_container, "全屏自适应
go_split_container1 TYPE REF TO cl_gui_splitter_container, "控件拆分
go_split_container2 TYPE REF TO cl_gui_splitter_container, "控件拆分
go_container1       TYPE REF TO cl_gui_container,
go_container2       TYPE REF TO cl_gui_container,
go_container3       TYPE REF TO cl_gui_container,
go_container4       TYPE REF TO cl_gui_container.

二、实例化分屏对象,放置于docking_container中,把屏幕分割成一行两列

    CREATE OBJECT go_docking
      EXPORTING
*       parent                      =
        repid                       = sy-repid
        dynnr                       = '0100'
        side                        = cl_gui_docking_container=>dock_at_bottom "dock_at_top
        extension                   = 99999
*       style                       =
*       lifetime                    = lifetime_default
*       caption                     =
*       metric                      = 0
*       ratio                       = 95
*       no_autodef_progid_dynnr     =
*       name                        =
      EXCEPTIONS
        cntl_error                  = 1
        cntl_system_error           = 2
        create_error                = 3
        lifetime_error              = 4
        lifetime_dynpro_dynpro_link = 5
        OTHERS                      = 6.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.

    CREATE OBJECT go_split_container1
      EXPORTING
        link_dynnr = sy-dynnr
        link_repid = sy-repid
        parent     = go_docking
        rows       = 1   "分成一行
        columns    = 2   "分成两列
*       name       = 'GCL_SPLIT_CONTAINER'
      .

三、对分好的两个container分配对应的容器

    CALL METHOD go_split_container1->get_container
      EXPORTING
        row       = 1
        column    = 1
      RECEIVING
        container = go_container1.

    CALL METHOD go_split_container1->get_container
      EXPORTING
        row       = 1
        column    = 2
      RECEIVING
        container = go_container2.

四、将第一行第二例的容器go_container2,分成两行一列

    CREATE OBJECT gcl_split_container2
      EXPORTING
        link_dynnr = sy-dynnr
        link_repid = sy-repid
        parent     = gcl_container2
        rows       = 2
        columns    = 1.

五、为分好的两个容器,分配container

    CALL METHOD go_split_container2->get_container
      EXPORTING
        row       = 1
        column    = 1
      RECEIVING
        container = go_container3.

    CALL METHOD go_split_container2->get_container
      EXPORTING
        row       = 2
        column    = 1
      RECEIVING
        container = go_container4.

分割好后效果会是这样的

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ABAP 中,创建一个屏幕并在子屏幕中展示 OOALV 可以按照以下步骤进行: 1. 在屏幕集中定义一个屏幕: - 在 ABAP 事务码 SE51 中创建一个屏幕集。 - 在屏幕集中,创建一个屏幕(例如,编号为 100)。 - 在子屏幕中添加一个容器控件(例如,名称为 `CONTAINER1`)。 2. 在 ABAP 程序中实例化 OOALV 对象: - 创建一个 ABAP 程序(例如,ZPROGRAM)。 - 在 ABAP 程序中使用 ALV 类(例如,CL_GUI_ALV_GRID)来实例化 OOALV 对象(例如,GR_ALV)。 3. 配置 OOALV 对象的显示属性和数据源: - 设置 OOALV 对象的显示属性,例如列标题、列宽度等。 - 设置 OOALV 对象的数据源,例如内表(INTERNAL TABLE)或函数模块。 4. 在 ABAP 程序中调用子屏幕并传递 OOALV 对象: - 使用屏幕集函数模块 `CALL SCREEN 100` 调用子屏幕。 - 将 OOALV 对象传递给子屏幕的容器控件 `CONTAINER1`。 5. 在子屏幕中处理 OOALV显示和操作: - 在子屏幕的 PBO(Process Before Output)事件中,使用 OOALV 对象的方法 `SET_TABLE_FOR_FIRST_DISPLAY` 来设置 OOALV 的属性和数据源。 - 在子屏幕的 PAI(Process After Input)事件中,处理 OOALV 的用户交互操作。 这是一个大致的步骤,具体的实现可能需要根据你的需求进行调整和扩展。希望这些步骤能帮助你开始在子屏幕中创建和展示 OOALV。如有需要,请提供更多的上下文信息以获取更具体的代码示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gong JX

多谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值