CN10行显示背景色为红色
列LAND1显示背景色为橙色
CURRANCY 为EUR的单元格显示为绿色
双击行项目显示详细信息
REPORT ztest_alv001.
TABLES:t001.
TYPE-POOLS:slis.
DATA:
t_fieldcat TYPE slis_t_fieldcat_alv,
fs_fieldcat LIKE LINE OF t_fieldcat,
fs_layout TYPE slis_layout_alv ,
w_fieldname(20),
w_prog TYPE sy-repid.
DATA: BEGIN OF t_t001 OCCURS 0,
color(4),
cell TYPE slis_t_specialcol_alv,
bukrs LIKE t001-bukrs,
land1 LIKE t001-land1,
waers LIKE t001-waers,
END OF t_t001.
DATA:
fs_cell LIKE LINE OF t_t001-cell.
DATA:BEGIN OF p_row OCCURS 0,
index LIKE sy-tabix,
END OF p_row.
START-OF-SELECTION.
PERFORM. getdata.
PERFORM. fieldcat.
IF NOT t_t001[] IS INITIAL.
w_prog = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = w_prog
is_layout = fs_layout
it_fieldcat = t_fieldcat
TABLES
t_outtab = t_t001
EXCEPTIONS
program_error = 1
OTHERS = 2.
ELSE.
MESSAGE 'DATA WAS NOT FOUND' TYPE 'I' .
STOP.
ENDIF.
*&---------------------------------------------------------------------*
*& Form GETDATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM. getdata .
SELECT bukrs land1 waers
INTO (t_t001-bukrs,t_t001-land1,t_t001-waers)
FROM t001
WHERE waers = 'RMB' OR waers = 'JPY' OR waers = 'EUR'.
IF t_t001-bukrs EQ 'CN10'.
t_t001-color = 'C610'.
ENDIF.
IF t_t001-waers EQ 'EUR'.
p_row-index = sy-dbcnt.
APPEND p_row.
CLEAR p_row.
ENDIF.
APPEND t_t001.
CLEAR t_t001.
ENDSELECT.
ENDFORM. " GETDATA
*&---------------------------------------------------------------------*
*& Form FIELDCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM. fieldcat .
CLEAR fs_fieldcat .
fs_fieldcat-fieldname = 'BUKRS'.
fs_fieldcat-seltext_l = 'COMPANY CODE'.
fs_fieldcat-col_pos = 1.
fs_fieldcat-key = 'X'.
APPEND fs_fieldcat TO t_fieldcat.
CLEAR fs_fieldcat .
fs_fieldcat-fieldname = 'LAND1'.
fs_fieldcat-seltext_l = 'LAND1'.
fs_fieldcat-col_pos = 2.
fs_fieldcat-key = ' '.
fs_fieldcat-emphasize = 'C710'.
APPEND fs_fieldcat TO t_fieldcat.
CLEAR fs_fieldcat .
fs_fieldcat-fieldname = 'WAERS'.
fs_fieldcat-seltext_l = 'CURRANCY'.
fs_fieldcat-col_pos = 3.
fs_fieldcat-key = ' '.
APPEND fs_fieldcat TO t_fieldcat.
fs_cell-fieldname = 'WAERS' .
fs_cell-color-col = 5.
fs_cell-nokeycol = 'X'.
fs_cell-color-int = 1.
APPEND fs_cell TO t_t001-cell.
LOOP AT p_row.
MODIFY t_t001 INDEX p_row-index TRANSPORTING cell.
ENDLOOP.
fs_layout-info_fieldname = 'COLOR'.
fs_layout-coltab_fieldname = 'CELL'.
fs_layout-f2code = '&ETA'.
ENDFORM. " FIELDCAT
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13890288/viewspace-630511/ ,如需转载,请注明出处,否则将追究法律责任。