Добрый день!
Есть grid с преднастроенным форматом ( через it_sort ) есть обработка метода handle_refresh в котором в итоговые строки вписывается свой текст в структуре строки есть прицепленная таблица типа LVC_T_SCOL в этом методе пытаюсь задать цвет ячейки но ничего не меняется итоговые строки как были желтыми так и остаются.
Это в handle_refresh
Code:
data:
POSICION type LVC_S_STBL,
ALV_COL00 type ref to DATA,
ALV_COL01 type ref to DATA,
ALV_COL02 type ref to DATA,
ALV_COL03 type ref to DATA,
ALV_COL04 type ref to DATA,
ALV_COL05 type ref to DATA,
ALV_COL06 type ref to DATA,
ALV_COL07 type ref to DATA,
ALV_COL08 type ref to DATA,
ALV_COL09 type ref to DATA,
ALV_GROUP type LVC_T_GRPL,
ALV_CRIT type LVC_T_SORT,
ALV_CRIT_WA type LVC_S_SORT,
IPOS type SLIS_SPOS,
LS_COL type LVC_S_scol
.
field-symbols:
<COLXX> type TABLE,
<FS1> type TY_ALV. "like line of GT_ALV. "
BREAK ATANOVA.
POSICION-ROW = 'X'.
POSICION-COL = 'X'.
if RF <> SPACE.
RF = SPACE.
return.
endif.
call method ALV->GET_SORT_CRITERIA
importing
ET_SORT = ALV_CRIT.
call method ALV->GET_SUBTOTALS
importing
EP_COLLECT00 = ALV_COL00
EP_COLLECT01 = ALV_COL01
EP_COLLECT02 = ALV_COL02
EP_COLLECT03 = ALV_COL03
EP_COLLECT04 = ALV_COL04
EP_COLLECT05 = ALV_COL05
EP_COLLECT06 = ALV_COL06
EP_COLLECT07 = ALV_COL07
EP_COLLECT08 = ALV_COL08
EP_COLLECT09 = ALV_COL09
ET_GROUPLEVELS = ALV_GROUP.
read table ALV_CRIT into ALV_CRIT_WA with key FIELDNAME = 'LIFNR'.
case ALV_CRIT_WA-SPOS.
when 01.
assign ALV_COL01->* to <COLXX>.
when 02.
assign ALV_COL02->* to <COLXX>.
when 03.
assign ALV_COL03->* to <COLXX>.
when 04.
assign ALV_COL04->* to <COLXX>.
when 05.
assign ALV_COL05->* to <COLXX>.
when 06.
assign ALV_COL06->* to <COLXX>.
when 07.
assign ALV_COL07->* to <COLXX>.
when 08.
assign ALV_COL08->* to <COLXX>.
when 09.
assign ALV_COL09->* to <COLXX>.
endcase.
if SY-SUBRC = 0.
loop at <COLXX> assigning <FS1>.
read table GT_ALV into GS_ALV with key LIFNR = <FS1>-LIFNR.
<FS1>-LIFTX = GS_ALV-LIFTX.
clear LS_COL.
LS_COL-COLOR-COL = '6'.
append LS_COL to <FS1>-CT.
endloop.
endif.
call method ALV->REFRESH_TABLE_DISPLAY
exporting
IS_STABLE = POSICION
I_SOFT_REFRESH = 'X'.
Причем обычные строки красит нормально.
Это перед вызовом set_table.....
Code:
loop at GT_ALV assigning <ALV>.
move-corresponding <ALV> to LS_ALV.
clear LS_CELLCOLOR.
LS_CELLCOLOR-COLOR-COL = '6'.
append LS_CELLCOLOR to LS_ALV-CT.
append LS_ALV to GT_ALV_TMP.
endloop.
Я что-то не правильно делаю или это в принципе невозможно?