隐藏cl_salv_table中的列

2020-09-10 17:07发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嘿,

我正在使用cl_salv_table来支付报告,我需要隐藏我在gt_table中使用的某些列,我是使用SET_VISIBLE方法做到这一点的。

尝试。
呼叫方法cl_salv_table =>工厂
导入
r_salv_table = lt_table
更改
t_table = gt_table

捕捉cx_salv_msg。
ENDTRY。< br> lt_function = lt_table-> get_functions()。
lt_function-> set_all(abap_true)。
lr_columns = lt_table-> get_columns()。

"隐藏gt_table中存在的列。
lr_column?= lr_columns-> get_column('PERIOD')。
lr_column-> set_visible(abap_false)。
lr_column?= lr_columns-> get_column('GJAHR')。
lr_column-set 。
lr_column?= lr_columns-> get_column('ZTAG1')。
lr_column-> set_visible(abap_false)。

"优化列宽
lr_columns-> set_optimize('X') 。
lt_table-> display()。

这没关系,它隐藏了列,但是当我使用升序排序之类的功能时,这些隐藏的列仍然存在。 我也该如何删除这些条目。

感谢adv。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嘿,

我正在使用cl_salv_table来支付报告,我需要隐藏我在gt_table中使用的某些列,我是使用SET_VISIBLE方法做到这一点的。

尝试。
呼叫方法cl_salv_table =>工厂
导入
r_salv_table = lt_table
更改
t_table = gt_table

捕捉cx_salv_msg。
ENDTRY。< br> lt_function = lt_table-> get_functions()。
lt_function-> set_all(abap_true)。
lr_columns = lt_table-> get_columns()。

"隐藏gt_table中存在的列。
lr_column?= lr_columns-> get_column('PERIOD')。
lr_column-> set_visible(abap_false)。
lr_column?= lr_columns-> get_column('GJAHR')。
lr_column-set 。
lr_column?= lr_columns-> get_column('ZTAG1')。
lr_column-> set_visible(abap_false)。

"优化列宽
lr_columns-> set_optimize('X') 。
lt_table-> display()。

这没关系,它隐藏了列,但是当我使用升序排序之类的功能时,这些隐藏的列仍然存在。 我也该如何删除这些条目。

感谢adv。

付费偷看设置
发送
2条回答
派大星 ヾ
1楼 · 2020-09-10 17:34.采纳回答

lr_column-> set_technical应该为您执行此操作。 这是来自类文档,如下所示:

"默认情况下,为用户提供所有列作为列集。用户可以自己决定要显示还是不显示列集中的哪些列。

您使用SET_TECHNICAL方法设置该列是否包含在用户的列集中。 用户永远不会看到技术专栏。"

因此您的代码应为:

lr_column-> set_technical(abap_true)。

Aaron 3364
2楼-- · 2020-09-10 17:20

布鲁斯·哈特利 谢谢。 它按我的要求工作。

一周热门 更多>