ALV面向对象方法研究:设定满足条件的单元格的颜色(四)

本文介绍如何在ALV报表中根据条件设置单元格的颜色,例如将成绩低于60分的成绩单元格显示为红色。文章提供了具体的编程实现步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      还是继续本话题。

      本文讲解如何设定满足条件的单元格的颜色。比如在一张报表里,把成绩这一列小于60分的单元格设定为红色。这种功能很常见!

      1、首先在定义内标的时候记得增加一个栏位放置颜色:      

....
CELLCOLOR TYPE LVC_T_SCOL,
...

      2、在内表修改的时候,将这个栏位附上内容:       

     DATA: W_CELLCOLOR TYPE LVC_S_SCOL.

IF IT_SFLIGHT-PRICE <= 1000. "数值小于1000的加红色
CLEAR IT_SFLIGHT-COLOR.
W_CELLCOLOR-FNAME = 'PRICE'. "加颜色的栏位
W_CELLCOLOR-COLOR-COL = '6'. "红色
W_CELLCOLOR-COLOR-INT = '1'. "颜色加深 0代表不加深
APPEND W_CELLCOLOR TO IT_SFLIGHT-CELLCOLOR.
ENDIF.

      3、设定ALV格式的时候:       

*&---------------------------------------------------------------------*
*& FORM PREPARE_LAYOUT
*&---------------------------------------------------------------------*
* TEXT
*----------------------------------------------------------------------*
* -->PS_LAYOUT TEXT
*----------------------------------------------------------------------*
FORM PREPARE_LAYOUT CHANGING PS_LAYOUT TYPE LVC_S_LAYO.
PS_LAYOUT-ZEBRA = 'X' .
PS_LAYOUT-GRID_TITLE = TITLE .
PS_LAYOUT-SMALLTITLE = 'X' .
PS_LAYOUT-SEL_MODE = 'A'.
PS_LAYOUT-INFO_FNAME = 'COLOR'.
PS_LAYOUT-CTAB_FNAME = 'CELLCOLOR'. "一定要大写
PS_LAYOUT-CWIDTH_OPT = 'X'.
PS_LAYOUT-DETAILINIT = 'X'.
ENDFORM. " PREPARE_LAYOUT

     效果如下图:

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值