Cambiar color de celda en ALV grid OO

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • PabloLiasco
    Member
    • ago
    • 46

    #1

    Cambiar color de celda en ALV grid OO

    Hola:
    Quería saber como hago para cambiar el color de una celda en la cual acaba de ser modificado su contenido. Esto es usando ALV OO.
    Gracias
  • DavidXD_XD
    Moderator
    • ago
    • 1255

    #2
    Hola, aver lo puedes hacer usando el evento handle_data_changed para saber que linea de la tabla interna que se imprime en el ALV se ha modificado, una vez que lo sepas usa lo que puse como ejemplo en otra ocasion, espero te pueda servir ...

    David Carballido Córdova

    Comentario

    • PabloLiasco
      Member
      • ago
      • 46

      #3
      Gracias por contestar...
      En qué momento del programa debería llamar al evento, y en qué clase está el mismo?
      Gracias

      Comentario

      • DavidXD_XD
        Moderator
        • ago
        • 1255

        #4
        Como ejemplo puedes revisar los programas (SE38) que comienzan con BCALV_EDIT*, ahi veras como implementan el evento handle_data_changed el cual tiene una estructura como parametro, ese parametro te indica la columna y la fila que ha sido cambiada asi como tbm el nuevo valor que se ha introducido, justo ahi debes cambiar tu tabla interna con el indice que figura en el parametro
        David Carballido Córdova

        Comentario

        • PabloLiasco
          Member
          • ago
          • 46

          #5
          Gracias... voy a intentar hacerlo..

          Comentario

          • PabloLiasco
            Member
            • ago
            • 46

            #6
            En qué momento tendría que hacer el CALL method, ya que lo que tengo que hacer es chequear en el mismo momento en que la celda se modifica??

            Comentario

            • DavidXD_XD
              Moderator
              • ago
              • 1255

              #7
              Los eventos solo son implementados, internamente son triggers el cual son activos cuando modificas la celda, cuando modificas la celda automaticamente va a pasar por la implementacion del evento de tu alv handle_data_changed
              David Carballido Córdova

              Comentario

              • PabloLiasco
                Member
                • ago
                • 46

                #8
                Ahora entiendo.
                El tema es que una vez que se ejecuta el método necesito que se ejecute una especie de refresh de el ALV, para ver la celda coloreada.
                Uso el set_table_for_first_display?
                O acaso hay alguna otra forma?

                Comentario

                • DavidXD_XD
                  Moderator
                  • ago
                  • 1255

                  #9
                  Hay otra metodo que hace eso, usa el metodo:

                  CALL METHOD g_grid->refresh_table_display

                  Xsiaca, ese metodo es sin parametros puesto que las variables que usaste en el metodo set_table_for_first_display ya estan en memoria.
                  David Carballido Córdova

                  Comentario

                  Trabajando...