PDA

Ver la Versión Completa : Cambiar el color de celda en ALV


davidsap
08/01/07, 10:26:45
Hola y feliz año a todos!

Me gustaría saber como puedo cambiar el color de una celda de un ALV en función de su contenido. Es decir, si el campo > 3 rojo y si campo < 3 azul. Con fieldcat_ln-emphasize = 'C610'. cambio el color de toda la columna pero yo quiero cambiarlo dependiendo del contenido.

Un saludo y gracias

cosmica
08/01/07, 22:13:02
Hola, si lo que queres es cambiar una sola celda en particular de color debes realizar lo siguiente:

ejemplo:

BEGIN OF i_list,
field1,
field2,
COLOR TYPE SLIS_T_SPECIALCOL_ALV, " Color Field
END OF i_list_pos.

Luego pones:

p_layout-coltab_fieldname = 'COLOR'.

Luego defines el color en particular a mostrar:

data: v_alv_color TYPE slis_specialcol_alv.

CLEAR: v_alv_color.
v_alv_color-fieldname = 'FIELD1'
v_alv_color-color-col = c_alv_color_red.
APPEND v_alv_color TO i_list-color.

Espero que te sirva, de no ser asi, investiga en la funcion REUSE_ALV_LIST_LAYOUT_INFO_SET que te permite hacer tratamientos especiales con los campos.
Saludos!