Quitar columnas table control

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • tunante
    Member
    • sep
    • 82

    #1

    Quitar columnas table control

    Hola buenas, quiero hacer ke algunas columnas de mi table control se muestren unas veces y otras no, estoy utilizando este codigo pero no me tira, que puede ser?.
    gracias.

    *----------------------------------------------------------------------*
    ***INCLUDE MZMMFOPA_top
    *----------------------------------------------------------------------*
    * Para manejar estructuras de Table Control
    TYPE-POOLS CXTAB.
    * Tabla interna de propiedades de columnas de table control
    DATA: IT_COLS TYPE STANDARD TABLE OF CXTAB_COLUMN
    WITH HEADER LINE WITH NON-UNIQUE DEFAULT KEY.
    *----------------------------------------------------------------------*
    ***INCLUDE MZMMFOPA_STATUS_0500 .
    *----------------------------------------------------------------------*
    CLEAR IT_COLS.
    REFRESH IT_COLS.
    IT_COLS[] = TAB_ART_500-COLS[].

    * Se lee las propiedades de la columna a poner de salida.
    LOOP AT IT_COLS.
    IF IT_COLS-SCREEN-NAME EQ 'GT_ZTMMFODMO-INCLUDE-ZUBICACIONO'.
    IT_COLS-SCREEN-INVISIBLE = 0.
    MODIFY IT_COLS FROM IT_COLS INDEX SY-TABIX.
    REFRESH TAB_ART_500-COLS.
    CLEAR TAB_ART_500-COLS.
    TAB_ART_500-COLS[] = IT_COLS[].
    ENDIF.
    ENDLOOP.
  • DavidXD_XD
    Moderator
    • ago
    • 1255

    #2
    Hola ... algo parecido he posteado aver si sirve

    David Carballido Córdova

    Comentario

    • Martin Niño Arriaga
      Junior Member
      • jun
      • 9

      #3
      Ahi te va el codigo

      *
      it_cols[] = tc_control-cols[].

      * Se lee las propiedades de la columna a ocultar:
      READ TABLE it_cols WITH KEY screen-name = 'T_MOSTRAR-ANCHO_PLANCHON'.
      IF sy-subrc EQ 0.
      it_cols-invisible = 1.
      MODIFY it_cols FROM it_cols INDEX sy-tabix.
      REFRESH tc_control-cols. CLEAR tc_control-cols.
      tc_control-cols[] = it_cols[].
      ENDIF.

      Este codigo lo debes de repetir por cada columna a ocultar.

      'T_MOSTRAR-ANCHO_PLANCHON'. es el nombre del campo que presentas en el TABLE CONTROL

      tc_control es el nombre del TABLE CONTROL.

      Este codigo lo debes de llamar en el PBO a través de un MODULE.

      Comentario

      • tunante
        Member
        • sep
        • 82

        #4
        Cojonudo, gracias a los dos, ese codigo martin como anillo al dedo.
        con mi codigo tb funciona lo ke pasa que estaba poneindo IT_COLS-SCREEN-INVISIBLE = 0. y lo de screen no tenia ke estar IT_COLS-INVISIBLE = 1. asi me sale perfecto asi no hay ke hacer tantos read.
        un saludo.
        Editado por última vez por tunante; 11/09/2008, 06:56:39.

        Comentario

        • jlrojas
          Junior Member
          • jul
          • 1

          #5
          Columna nueva en un table control

          Hola a todos:
          ¿Alguien sabe por que cuando se crea una nueva columna sobre un table control, le da el ultimo lugar cuando realmente se le ha puesto en otro lugar intermedio?. La manera de cambiarlo creo que es por programa, pero ¿alguien sabe como modificarlo?.
          Ya toque el orden el table, pero no me lo reproduce
          Gracias de antemano.

          Comentario

          • sconoredhot
            Senior Member
            • feb
            • 341

            #6
            Hola

            Tienes que cambiarlo en la creación del catálogo, el programa toma el orden de los campos de ahi, mas alla de como esten en la tabla interna.
            Sebas

            Desarrollador ABAP.

            Comentario

            Trabajando...