CL_SALV_TABLE-例外列文本更改

2020-09-03 11:17发布

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

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


专家,

我正在使用CL_SALV_TABLE类在ALV中显示数据。

交通灯在ALV中显示。 对于交通信号灯列,默认显示的文本为"例外"。 我尝试使用下面的代码为其设置自定义文本,但是它不起作用。

下面是供参考的代码。

报告ZMDR_SALV_TEST。

类型: ty_alv的开始,
lights(1)类型c,"异常,保存lights的值
text(20)TYPE c,"某些文本
ty_alv的结尾。

数据 :gs_alv类型ty_alv,
gt_alv类型表ty_alv,
gr_alv类型对cl_salv_table的参考,
gr_columns类型对cl_salv_columns_table的参考,
gr_column类型对cl_salv的参考。 选择开始。
gs_alv-lights ='1'。 "颜色红色
gs_alv-text ='红色信号'。
APPEND gs_alv至gt_alv。gs_alv-lights ='2'。"颜色黄色
gs_alv-text ='黄色信号'。
APPEND gs_alv至gt_alv。 gs_alv-lights ='3'。 "颜色为绿色
gs_alv-text ='绿色信号'。
追加gs_alv至gt_alv。

调用方法cl_salv_table => factory
导入
r_salv_table = gr_alv
更改< br> t_table = gt_alv。

gr_columns = gr_alv-> get_columns()。
gr_columns-> set_exception_column(value ='LIGHTS')。

尝试。
gr_column?= gr_columns-> get_column('EXCEPTION')。"例外列
gr_column-> set_medium_text('STATUS')。
gr_column-> set_long_text('STATUS')。
gr_column-> set_short_text('STATUS')。
捕获cx_salv_not_found。 " #EC NO_HANDLER
ENDTRY。


呼叫方法gr_alv->显示。

请分享您的想法 。

关于,

穆罕默德

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

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


专家,

我正在使用CL_SALV_TABLE类在ALV中显示数据。

交通灯在ALV中显示。 对于交通信号灯列,默认显示的文本为"例外"。 我尝试使用下面的代码为其设置自定义文本,但是它不起作用。

下面是供参考的代码。

报告ZMDR_SALV_TEST。

类型: ty_alv的开始,
lights(1)类型c,"异常,保存lights的值
text(20)TYPE c,"某些文本
ty_alv的结尾。

数据 :gs_alv类型ty_alv,
gt_alv类型表ty_alv,
gr_alv类型对cl_salv_table的参考,
gr_columns类型对cl_salv_columns_table的参考,
gr_column类型对cl_salv的参考。 选择开始。
gs_alv-lights ='1'。 "颜色红色
gs_alv-text ='红色信号'。
APPEND gs_alv至gt_alv。gs_alv-lights ='2'。"颜色黄色
gs_alv-text ='黄色信号'。
APPEND gs_alv至gt_alv。 gs_alv-lights ='3'。 "颜色为绿色
gs_alv-text ='绿色信号'。
追加gs_alv至gt_alv。

调用方法cl_salv_table => factory
导入
r_salv_table = gr_alv
更改< br> t_table = gt_alv。

gr_columns = gr_alv-> get_columns()。
gr_columns-> set_exception_column(value ='LIGHTS')。

尝试。
gr_column?= gr_columns-> get_column('EXCEPTION')。"例外列
gr_column-> set_medium_text('STATUS')。
gr_column-> set_long_text('STATUS')。
gr_column-> set_short_text('STATUS')。
捕获cx_salv_not_found。 " #EC NO_HANDLER
ENDTRY。


呼叫方法gr_alv->显示。

请分享您的想法 。

关于,

穆罕默德

付费偷看设置
发送
8条回答
wang628962
1楼 · 2020-09-03 11:35.采纳回答

嗨,

似乎该异常列具有固定且不可更改的标题文本。

为什么不使用char4的另一个字段并将灯光放进去?

未设置:gr_columns-> set_exception_column(value ='LIGHTS')。

值将来自表ICON字段ID(例如@ 01 @等。),您可以更改列????的标题文本

风早神人
2楼-- · 2020-09-03 11:47

对于异常列使用CHAR01类型

类型:ty_alv的开始,
灯光TYPE char01,"异常,保存灯光的值
text(20)TYPE c,"某些文本
结束ty_alv。

# p#

嗨,可能是

尝试。

gr_column?= gr_columns-> get_column('LIGHTS')。 "例外列

gr_column-> set_medium_text('STATUS')。

gr_column-> set_long_text('STATUS')。

gr_column-> set_short_text('STATUS')。

捕获cx_salv_not_found。 " #EC NO_HANDLER

ENDTRY。

落灬小鱼
3楼-- · 2020-09-03 11:59

嗨,马修,

再次感谢您的建议。

最后,我将其发布在了代码库中。

CL_SALV_TABLE-交通灯列文本更改-代码 Gallery-SCN Wiki

希望现在可以了。

此致

Rafi

骆驼绵羊
4楼-- · 2020-09-03 11:41

嗨 Rafi,

尝试以下代码,即可正常运行。

gr_columns = gr_alv-> get_columns()。

*从您的代码中删除此行

gr_columns-> set_exception_column(value ='LIGHTS')。

< p>添加以下代码。

尝试。

gr_column?= gr_columns-> get_column('LIGHTS')。 "异常列

gr_column-> set_medium_text('STATUS'。。

gr_column-> set_long_text('STATUS')。 。

捕获cx_salv_not_found。"#EC NO_HANDLER

ENDTRY。

让我知道您是否有任何问题。

此致

Gurunath D

d56caomao
5楼-- · 2020-09-03 11:42

没有运气。

问候

穆罕默德

三十六小时_GS
6楼-- · 2020-09-03 11:55

嗨拉菲,

请检查以下链接,并说这是不可能的。

http://abap-explorer.blogspot.in/2009/07/traffic-lights-in-alv-reports.html

问候,

Gurunath D

CJones
7楼-- · 2020-09-03 11:50

嗨,大师

感谢您的回复。

我尝试了这段代码,我可以更改列文本,但是将红色,黄色,绿色等交通信号灯替换为1,2,3。

关于此,

穆罕默德

一周热门 更多>