alv设置单元格效色

来源:互联网 发布:ubuntu 14.04内核 编辑:程序博客网 时间:2024/05/18 01:22

        用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.
        ...