Cambio de propiedades de un table control

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • javibest
    Senior Member
    • ene
    • 185

    #1

    Cambio de propiedades de un table control

    Quiero cambiar mediante codigo las propiedades de un table control. En concreto , que no se puedan introducir datos.

    declaracion del table control :

    CONTROLS: tb_imput TYPE TABLEVIEW USING SCREEN 0200.

    intento acceder a la tabla que hay en el campo cols del table control tb_imput, pero no soy capaz :

    DATA : wa_screen LIKE tb_imput-cols.

    loop at tb_imput-cols into wa_screen.
    endloop.

    me dice que no se puede convertir, y si hago

    loop at tb_imput-cols
    endloop

    me dice que tb_imput-cols no tiene header line.

    Estoy jodido
  • sararodriguez
    Junior Member
    • mar
    • 23

    #2
    A mí me pasa lo mismo, no sé cambiar un table control para q no se puedan cambiar los datos que muestra.

    También quería cambiar los textos de un select options.

    Si alguien puede hexar una manilla..

    Muchas gracias!!

    Comentario

    • vickxo
      Senior Member
      • nov
      • 118

      #3
      Hola!

      Q tal, he revisado por medio de la wizard y he visto que pueden modificar las propiedades de esta manera:


      it_ejemplo es la tabla que contiene los datos
      tc_ejemplo es el table control
      LOOP AT it_ejemplo
      INTO wa_ejemplo
      WITH CONTROL tc_ejemplo
      CURSOR tc_ejemplo-current_line.
      MODULE change_cell_vc.
      MODULE tc_ejemplo_get_lines.
      *&spwizard:
      ENDLOOP.


      En ete modulo efectuo el cambio de las propiedades

      MODULE change_cell_vc OUTPUT.

      IF tc_ejemplo-current_line = 2.
      LOOP AT SCREEN.
      IF screen-name = 'WA_EJEMPLO-CAMPO1'.
      screen-input = 0. "Aqui es donde se definen las propiedades, 1 si quiere bloquear
      MODIFY SCREEN.
      ENDIF.
      ENDLOOP.
      ENDIF.
      ENDMODULE.

      ah este, creo, obtiene los datos ...auq no me hagan mucho caso ajajaaj
      MODULE tc_ejemplo_get_lines OUTPUT.
      g_tc_ejemplo_lines = sy-loopc.
      ENDMODULE.



      Espero t sirva
      el tema esta en hacer la pregunta correcta...

      Comentario

      • javibest
        Senior Member
        • ene
        • 185

        #4
        Si. efectivamente. yo tambien lo he conseguido modificando los campos que se asignan a cada columna del table control mediante el loop at screen :

        FORM desactivar_table_control.

        LOOP AT SCREEN.
        IF screen-name = 'T_IMPUT-CUENTA'.
        screen-input = 0.
        ENDIF.
        IF screen-name = 'T_IMPUT-DESCRIPCION'.
        screen-input = 0.
        ENDIF.
        IF screen-name = 'T_IMPUT-CECO'.
        screen-input = 0.
        ENDIF.
        IF screen-name = 'T_IMPUT-PROY_ORDEN'.
        screen-input = 0.
        ENDIF.
        IF screen-name = 'T_IMPUT-IMPORTE'.
        screen-input = 0.
        ENDIF.

        MODIFY SCREEN.

        ENDLOOP.
        ENDFORM.

        Comentario

        • sararodriguez
          Junior Member
          • mar
          • 23

          #5
          Muchísimas gracias!!

          Comentario

          • sararodriguez
            Junior Member
            • mar
            • 23

            #6
            Pero t_imput q es xa ti? el nombre del table control? esq he conseguido que se me bloqueen todas las columnas xo kiero q haya una de ellas q no se bloquee.

            Comentario

            • vickxo
              Senior Member
              • nov
              • 118

              #7
              Hola

              Intenta asi:

              LOOP AT SCREEN.
              IF screen-name NE 'TU_TABLECONTROL-COLUMNA_Q_NO_SE_BLOQUIEE'.
              screen-input = 1.
              Else.
              screen-input = 0.
              endif.
              MODIFY SCREEN.
              ENDLOOP.
              el tema esta en hacer la pregunta correcta...

              Comentario

              • sararodriguez
                Junior Member
                • mar
                • 23

                #8
                yA, SI ASÍ PROBÉ PERO NO BLOQUEA NINGUNA

                Comentario

                • sararodriguez
                  Junior Member
                  • mar
                  • 23

                  #9
                  Ya Está, Muchas Gracias

                  Comentario

                  Trabajando...