面向对象(OO)的ALV GRID设置颜色

    在平时的ALV开发中,客户有些特殊的需求,需要在ALV的网格中绘上一些特殊的颜色,方便他们在第一时间看到自己想要看到的东西,如果没有这些颜色的设 置,要从一大堆显示的数据中找到自己关心的东西,估计会比较难,下面我将给大家介绍在ALV GRID中设置列、行、单元格的颜色:
1)列的颜色设置
列的颜色设置相对来说会比较简单,因为在字段目录的类型LVC_S_FCAT中提供了对列颜色设置的字段
EMPHASIZE来实现:
如:w_fcat type lvc_s_fcat.
w_fcat-
EMPHASIZE = 'C701'.
在使用的过程有个问题要注意,就是如果当前设置颜色的列为关键(KEY)列,则设置的颜色就不会起作用了.
2)行的颜色设置
为某行颜色的设置,实现起来相对列的设置有点复杂,需要在显示的内表中添加一个字段用于显示颜色,这个字段不需要在字段目录中设置,实现如下所示:
如:data: begin of t_itab occurs 0,
.......(字段)
rowcolor(4) type c,    "新添加用字段于设置行的颜色
end   of t_itab.
添加了用于设置颜色的字段,ALV如何知道你设置了颜色了呢,这个嘛就在ALV的布局类型有个字段info_name进行通知ALV设置了颜色的:(这一步很重要哦)
如:s_lay type lvc_s_layo.
s_lay-info-name = 'ROWCOLOR'.    " ROWCOLOR就是上面在显示输出的内表中添加的字段。
以上两步都搞定了,那下来就是要CODING设置那些行要设置颜色了:
如:loop at t_itab.
if t_itab-a eq '1'.
t_itab-rowcolor = '4'.       "设置颜色
modify t_itab.
endif.
endloop.
有些人在网上介绍的时候需要调用刷新才能显示设置颜色出来,经过我的测试,其实不然!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值