[REUSE_ALV_GRID_DISPLAY]如何指定单元格颜色
下面简单介绍一下使用REUSE_ALV_GRID_DISPLAY函数时,如何设定单元格颜色,方法比较简单,直接上代码:
*&---------------------------------------------------------------------*
*& Report ZGER_COLOR
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
report zger_color.
type-pools:slis.
data :begin of gt_flight occurs 0,
carrid like sflight-carrid,
connid like sflight-connid,
fldatE like sflight-fldatE,
seatsmax like sflight-seatsmax,
seatsocc like sflight-seatsocc,
color type lvc_t_scol,"保存颜色的字段
end of gt_flight.
data gt_fielscat type slis_t_fieldcat_alv.
data ga_layout type slis_layout_alv.
data ga_col type lvc_s_scol.
data gt_coltab type lvc_t_scol.
data ga_color type lvc_s_colo.
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = sy-repid
i_internal_tabname = 'GT_FLIGHT'
* I_STRUCTURE_NAME =
* I_CLIENT_NEVER_DISPLAY = 'X'
i_inclname = sy-repid
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE =
changing
ct_fieldcat = gt_fielscat
* EXCEPTIONS
* INCONSISTENT_INTERFACE = 1
* PROGRAM_ERROR = 2
* OTHERS = 3
.
if sy-subrc <> 0.
* Implement suitable error handling here
endif.
select carrid
connid
fldatE
seatsmax
seatsocc
from sflight
into corresponding fields of table gt_flight
up to 10 rows.
*设定颜色
ga_color-col = '5'.
ga_color-int = '0'.
ga_color-inv = '0'.
loop at gt_flight.
* 指定第一行 SEATSOCC列单元格颜色
if sy-tabix = 1.
ga_col-fname = 'SEATSOCC'.
ga_col-color = ga_color.
append ga_col to gT_coltab.
clear ga_col.
gt_flight-color = gt_coltab.
modify gt_flight.
endif.
endloop.
ga_layout-coltab_fieldname = 'COLOR'.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = SY-REPID
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
IS_LAYOUT = GA_LAYOUT
IT_FIELDCAT = GT_FIELSCAT
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
tables
t_outtab = GT_FLIGHT
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
if sy-subrc <> 0.
* Implement suitable error handling here
endif.
|
|
测试结果:
第一行的最后一列单元格颜色变为浅绿色。


浙公网安备 33010602011771号