ALV的颜色分为行的颜色、列的颜色和CELL的颜色。
任务要求,将一定的Tabellenfeld 用黄色填充,也就是说
CELL的颜色
DATA:
ls_cellcolor TYPE lvc_s_scol,
coltab TYPE lvc_t_scol,
color TYPE lvc_s_colo.
DATA: BEGIN OF field_struc, " 在表格结构中定义颜色
....
CELLCOLOR TYPE lvc_t_scol,
END OF field_struc.view_tab ist eine Structur von field_struc.
* Farbe einsetzen
color-col = '3'.
color-int = '1'.
color-inv = '0'.
LOOP AT xxx INTO view_tab.
IF 两表中数据值不等.
ls_cellcolor-fname = 'WEARS'. " 指明列名
ls_cellcolor-color = color.
APPEND
ls_cellcolor TO coltab.
CLEAR ls_cellcolor. ENDIF. view_tab-cellcolor = coltab.
APPEND view_tab
TO it_view.
ENDLOOP.
行的颜色 [Quelle: http://blog.csdn.net/zltpc007/archive/2008/10/18/3095850.aspx]
需要在要显示的内表中添加一个字段放置颜色信息,比如COLOR(4) TYPE C .
ITAB-COLOR = 'C700'.
此外,还要根据采用的FM方式还是CLASS方式设置一下显示颜色
- FM方式: LS_LAYOUT-INFO_FIELDNAME = 'COLOR'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING
IS_LAYOUT = LS_LAYOUT
IT_FIELDCAT = LT_FIELDCAT
TABLES
T_OUTTAB = ITAB.
CALL METHOD GO_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IS_VARIANT = GS_VARIANT
I_SAVE = 'A'
IS_LAYOUT = SLA
CHANGING
IT_OUTTAB = ITAB[]
IT_FIELDCATALOG = GT_FIELDCAT[]
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
OTHERS = 4.
列的颜色 [Quelle: http://blog.csdn.net/zltpc007/archive/2008/10/18/3095850.aspx]
设置FIELDCAT就可以了,如:TMP_FIELDCAT-EMPHASIZE = 'C500'. "列的颜色

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23541073/viewspace-686857/
,如需转载,请注明出处,否则将追究法律责任。