用ALV显示数据,有时候因为一些特殊的要求,可以把某些字段背景颜色设置为不同的颜色,
这样可以让用户马上一目了然数据的异同。
其实设置背景颜色并不难,只要在传递数据给ALV函数的那个数据内表加多一列颜色设置,用
于设置单元格的背景颜色,这个列的定义,可以直接引用这个结构SLIS_T_SPECIALCOL_ALV。
下面代码说明这个用法:
data: begin of wa,
col1(10),
col2(10),
col3(10),
...,
COLOR TYPE SLIS_T_SPECIALCOL_ALV,
...,
end of wa,
itab like wa occurs 0 with header line,
IT_COLOR TYPE SLIS_T_SPECIALCOL_ALV WITH HEADER LINE.
...
loop at itab.
...
CLEAR IT_COLOR.
REFRESH IT_COLOR.
"设置颜色值
IT_COLOR-COLOR-COL = '6'.
IT_COLOR-COLOR-INT = '0'.
IT_COLOR-FIELDNAME = 'COL1'. APPEND COLOR. "要设置颜色的字段都要加入内表中
IT_COLOR-FIELDNAME = 'COL2'. APPEND COLOR. "要设置颜色的字段都要加入内表中
BESTAND-COLOR = IT_COLOR[]. "把设置好的颜色内表直接给显示的ALV对应的数据内表
...
endloop.
...