一. 行颜色
1. 在结果内表中添加字段 color(4) TYPE c ,用来存储四位颜色值.
2. 在内表循环中给这个字段赋值,比如'C310' 黄色.
3. 最关键的一点,在layout结构中设定颜色字段的名字,代码如下:
is_layout-info_fieldname = 'COLOR'. " 行颜色字段
is_layout 是我们声明的一个ALV的 type slis_layout_alv 的结构
二.列颜色
FORM frm_fldcat .
DATA ls_fcat TYPE slis_fieldcat_alv.
CLEAR ls_fcat.
ls_fcat-fieldname = 'ZZNUM'. "
ls_fcat-emphasize = 'C710'. "颜色修改 ,那么ZZNUM这列的颜色遍修改成功了 "
APPEND ls_fcat TO lit_fcat.
ENDFORM
总结:
当同时设定了行颜色和列颜色后,行颜色会覆盖列颜色.
附录:ABAP颜色代码
ABAP中的颜色代码是由4位字都组成的
Cxyz
C:color的简写,颜色代码均以C开头
x:标准色代码,SAP中一共有7个标准色
y:反转颜色启用/关闭 1/0
z:增强颜色启用/关闭 1/0
标准色代码一览表
X | 颜色 | 主要用处 |
1 | 灰蓝色 | 抬头、标题栏 |
2 | 浅灰色 | 列表内容 |
3 | 黄色 | 汇总 |
4 | 蓝色 | 关键字 |
5 | 绿色 | 正确 |
6 | 红色 | 错误 |
7 | 橙色 | 控制 |