Anuncio

Colapsar
No hay anuncio todavía.

Color en un registro de un ALV OO

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Color en un registro de un ALV OO

    Buenas tardes, una pregunta.

    Tengo un ALV OO informativo, no es editable.

    Y yo 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.

  • #2
    Exactamente, con la tabla de estilos lo podes hacer, tenes que agregar un campo mas en la estructura de la tabla que muestra el ALV:

    Código:
    TYPES: BEGIN OF ty_alv,
                   check        TYPE c,
                   edate        TYPE sy-datum,
                   codlinea    TYPE i,
                   field_style TYPE lvc_t_styl,
                END OF ty_alv.
    El campito field_style es la tabla de estilos, dentro de esta tabla vas cargando los estilos a los diferentes campos de cada registro del ALV.

    Por ejemplo si quiero que en una linea el campo codlinea salga con un fondo rojo, para ese registro del ALV tendre que agregar en la tabla de estilos lo siguiente:

    Código:
    DATA: wa_style TYPE lvc_s_styl,
               wa_alv    TYPE ty_alv,
               it_alv       TYPE STANDARD TABLE OF ty_alv.
    
    wa_style-fieldname = 'CODLINEA'.
    wa_style-style        = '0000002F'.
    
    APPEND wa_style TO wa_alv-field_style.
    APPEND wa_alv TO it_alv.
    Y por ultimo tenes que indicarle al layout como se llama el campo del ALV que contiene los estilos:

    Código:
    DATA: wa_layout TYPE lvc_s_layo.
    
    wa_layout-stylefname = 'FIELD_STYLE'.
    Creo q no me olvide de nada, si te fijas en la estructura LVC_S_STYL soporta hasta 4 estilos. Y otra cosa, si vas a poner dentro de una linea estilos para distintos campos, cuando los vayas insertando en el field_style, los fieldname tienen que quedar ordenados alfabeticamente, sino te da un dump.

    Saludos.

    pd: te dejo una imagen que encontre, tiene los diferentes estilos que le podes dar.
    Archivos Adjuntos

    Comentario


    • #3
      Perfecto, muchas gracias.

      Me sale la celda roja, además era el color q querían, perfecto.


      Sólo una preguntilla,

      He intentado:

      lw_color-fieldname = lw_comprobar-columna.
      lw_color-style = '0000002F'.
      lw_color-style2 = '00001000'.
      APPEND lw_color TO <fs_tabla>--line_color.

      Pero los otros tres styles no me los coje.

      gracias
      Editado por última vez por Neo_25; 13/11/2009, 11:49:49.

      Comentario


      • #4
        De nada, para eso estoy aca

        Si, la verdad no habia probado usar mas de un estilo, pero de alguna manera se tiene que poder hacer funcionar, cuando tenga algo de tiempo me pondre a verlo.

        Quizas alguien mas experimentado del foro te pueda responder...

        Saludos.

        Comentario

        Trabajando...
        X