【转】CLASS ALV(CL_GUI_ALV_GRID) 添加保存布局(Save Layout)的按钮

相当有用!


data: gs_variant TYPE disvariant.
...
gs_variant-report = sy-repid.

......
CALL METHOD go_grid->set_table_for_first_display
..
      is_variant                    = gs_variant
      i_save                        = 'A'  
..

### 关于 `CL_GUI_ALV_GRID` 类的使用方法 #### 1. 基本概念 `CL_GUI_ALV_GRID` 是 SAP 提供的一个用于显示 ALV Grid 表格的核心类。它继承自 `CL_GUI_CONTROL` 并实现了许多高级功能,允许开发者通过编程方式控制表格的行为和外观。 该类主要用于创建和管理 ALV Grid 控件实例,并支持多种定制化选项,例如字段目录 (`FIELDNAME`) 定义、事件处理以及动态调整布局等[^1]。 --- #### 2. 创建 `CL_GUI_ALV_GRID` 实例 要使用 `CL_GUI_ALV_GRID`,通常需要先将其绑定到一个容器 (Container),并初始化其属性。以下是基本流程: - **步骤一**: 获取屏幕上的窗口句柄。 - **步骤二**: 创建一个容器对象(如 `CL_GUI_CUSTOM_CONTAINER` 或其他类型的容器)。 - **步骤三**: 将 `CL_GUI_ALV_GRID` 绑定至上述容器。 ```abap DATA: lo_container TYPE REF TO cl_gui_custom_container, lo_alv_grid TYPE REF TO cl_gui_alv_grid. TRY. " 创建 Custom Container 对象 CREATE OBJECT lo_container EXPORTING container_name = 'CUSTOM_CONTAINER'. " 创建 ALV Grid 对象并将其实例化到指定容器中 CREATE OBJECT lo_alv_grid EXPORTING i_parent = lo_container. CATCH cx_root INTO DATA(lx_error). MESSAGE lx_error->get_text( ) TYPE 'E'. ENDTRY. ``` 此代码片段展示了如何将 `CL_GUI_ALV_GRID` 添加到名为 `'CUSTOM_CONTAINER'` 的屏幕上定义好的区域[^2]。 --- #### 3. 设置 Fieldcatalog 和 Data Table 为了使 ALV Grid 正常工作,还需要提供两部分内容:数据表 (`ITAB`) 和字段目录 (`FIELD_CATALOGUE`)。 - 数据表是一个标准内部表,存储实际展示的数据记录。 - 字段目录则描述了每列的具体配置参数,例如标题名称、宽度、对齐方式等。 下面是一段完整的示例程序: ```abap DATA: it_data TYPE TABLE OF spfli, " 示例数据表 wa_fieldcat TYPE slis_t_fieldcat_alv, " 单条字段目录项 t_fieldcats TYPE slis_t_fieldcat_alv,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SAP剑客

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值