一、指定行显示不同颜色
参见:http://blog.csdn.net/CompassButton/archive/2006/09/08/1195672.aspx
二、不同列显示不同颜色
1)对于非key字段则可以通过设置字段格式(slis_fieldcat_alv)的emphasize指定,代码如下:
data: wa_fieldcat type slis_fieldcat_alv.
clear wa_fieldcat.
wa_fieldcat-ref_fieldname = im_ref_field.
wa_fieldcat-ref_tabname = im_ref_table.
wa_fieldcat-fieldname = im_fieldname.
wa_fieldcat-tabname = im_tabname.
wa_fieldcat-key = ‘’.
wa_fieldcat-fix_column = IM_fix.
wa_fieldcat-checkbox = im_checkbox.
wa_fieldcat-do_sum = im_dosum.
wa_fieldcat-no_zero = im_zero.
wa_fieldcat-no_out = im_out.
wa_fieldcat-seltext_l = im_seltex_l.
wa_fieldcat-seltext_m = im_seltex_l.
wa_fieldcat-seltext_s = im_seltex_l.
wa_fieldcat-outputlen = im_outputlen.
wa_fieldcat-decimals_out = im_dec.
wa_fieldcat--emphasize = 'C500'.
* wa_fieldcat-col_pos = IM_colpos.
append wa_fieldcat to re_field.
2)对于key字段的设置参见单元颜色设置一个特例(整列的所有单元)
三、指定单元格显示不同颜色(参见红色代码)
代码
report Ztest_fullscreencolor.
type-pools: slis.
class cl_gui_resources definition load.
types: begin of g_ty_s_test,
select_amount type i,
color_rows type i occurs 0,
color_fields_column type lvc_fname occurs 0,
color_fields_cell type lvc_fname occurs 0,
end of g_ty_s_test,
begin of g_ty_s_outtab_slis.
include type alv_t_t2.
*定义颜色设置字段
types: color(4) type c,
tabcolor type slis_t_specialcol_alv,
end of g_ty_s_outtab_slis,
g_ty_t_outtab_slis type table of g_ty_s_outtab_slis.
constants: con_true type char1 value 'X'.
field-symbols: <gt_outtab> type standard table.
data: gs_test type g_ty_s_test,
gt_outtab_slis type g_ty_t_outtab_slis,
g_repid type sy-repid.
data: g_field type lvc_s_fcat-fieldname,
g_int_field type i.
*----------------------------------------------------------------------*
* SELECTION-SCREEN *
*----------------------------------------------------------------------
selection-screen begin of block col with frame title text-col.
parameters:
p_col01 as checkbox.
select-options:
p_colf01 for g_int_field no intervals default 1.
parameters:
p_col02 as checkbox default 'X'.
select-options:
p_colf02 for g_field no intervals default 'CARRID'.
parameters:
p_col03 as checkbox .
select-options:
p_colf03 for g_field no intervals default 'CONNID'.
selection-screen end of block col.
*----------------------------------------------------------------------*
* AT SELECTION-SCREEN ON VALUE-REQUEST *
*----------------------------------------------------------------------*
at selection-screen on value-request for p_colf02-low.
perform f01_f4_fcode changing p_colf02-low.
at selection-screen on value-request for p_colf03-low.
perform f01_f4_fcode changing p_colf03-low.
*----------------------------------------------------------------------*
* START-OF-SELECTION *
*----------------------------------------------------------------------*
start-of-selection.
g_repid = sy-repid.
gs_test-select_amount = 30.
if p_col01 eq con_true.
loop at p_colf01.
if not p_colf01-low is initial.
append p_colf01-low to gs_test-color_rows.
endif.
endloop.
endif.
if p_col02 eq con_true.
loop at p_colf02.
if not p_colf02-low is initial.
append p_colf02-low to gs_test-color_fields_column.
endif.
endloop.
endif.
if p_col03 eq con