PDA

Ver la Versión Completa : Color en un registro de un ALV OO


Neo_25
10/11/09, 16:05:26
Buenas tardes, una pregunta.

Tengo un ALV OO informativo, no es editable.

Y quiero que algunos registros se pongan en rojo, no la columna entera, ni toda la fila.
En una columna se pueden poner en rojo 2 y en otra ninguno.

Ellos me dicen que use: LVC_STYLE.

Algo parecido a:
lw_struct-style = cl_gui_alv_grid=>mc_style_disabled.

¿Alguien me puede decir algo?
¿Algún ejemplo?

Gracias.

RCASTELO
13/11/09, 13:17:57
Agregar un campo en tu tabla de datos del tipo lvc_t_scol

EJ: begin of tye_datos.
campo1 type campo1,
campo2 type campo2 ,
TABCOLOR type lvc_t_scol ,
end of tye_datos.

Este campo es una tabla. O sea que por cada registro de tu tabla de datos, vas a tener una tabla interna.
En dicha tabla debes llenar los siguientes valores (por cada registro de tu tabla de datos.)

EJ:
DATA: le_tabcolor TYPE lvc_s_scol.
gc_red_color TYPE lvc_s_scol-color-col VALUE '6',
gc_green_color TYPE lvc_s_scol-color-col VALUE '5'.

le_tabcolor-fname = campo1.
le_tabcolor-color-col = cg_red.
le_tabcolor-color-int = 1.
le_tabcolor-color-inv = 0.
INSERT le_tabcolor INTO TABLE pte_datos-tabcolor.

le_tabcolor-fname = campo2.
le_tabcolor-color-col = cg_green.
le_tabcolor-color-int = 1.
le_tabcolor-color-inv = 0.
INSERT le_tabcolor INTO TABLE pte_datos-tabcolor.

Solo resta indicarle en el layout el campo de referencia al color.
Ej:

ge_layout-ctab_fname = 'TABCOLOR'.


Creo que eso es todo. Espero te sirva.

Slds.

Neo_25
16/11/09, 08:29:22
Si, eso es, perfecto.

Muchas gracias RCASTELO.