|
#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 |
#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!! |
#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... |
#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. |
#5
|
|||
|
|||
Muchísimas gracias!!
|
#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.
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|