|
#1
|
|||
|
|||
Custom control en dynpro
Hola compañeros,
He creado un “Custom control” en un dynpro para que el usuario pueda meter un texto largo. Lo he hecho mediante: data: gcl_container type ref to cl_gui_custom_container. data: gcl_editor type ref to cl_gui_textedit. y “create_object”. Además he dibujado un botón para visualizar el “custom control” y otro para ocultarlo y es aquí donde tengo problemas. He probado con el método “set_visible” pasándole el valor “0” y va bien para ocultarlo, pero cuando le paso “1” para volver a visualizarlo no funciona. Otra prueba: El botón que muestra hace los “create object” y el que oculta “set visible”. Ocurre lo mismo, oculta y cuando quiero volver a verlo no funciona. ¿Sabe alguien como puedo hacerlo funcionar? Muchas gracias. |
#2
|
||||
|
||||
Hola, wueno yo tbm he realizado eso pero no lo hice con esa clase, sino usando la interface: c_textedit_control, es muy facil de usar y manipular, te adjunto una parte del codigo, la clase local que he creado es lcl_textedit y hereda de esa clase para poder usar sus metodos, espero te pueda servir
__________________
David Carballido Córdova |
#3
|
|||
|
|||
Te agradezco el esfuerzo David, pero creo que el código que me has pasado no es lo que estoy buscando. Si he entendido bien, lo que haces es ocultar campos. Yo lo que quiero es ocultar el "custom control" completo.
|
#4
|
||||
|
||||
Holas, ahhh no entendi bien, si quieres ocultar el Custom Control debes jugar con el LOOP AT screen, el metodo set_visible es para dejar habilitado o inhabilitado a escritura el editor, mas o menos cuando quieres modificar y visualizar un programa ABAP
__________________
David Carballido Córdova |
#5
|
|||
|
|||
Ya probé el "loop at screen", poniendo breakpoint y se ven todos los campos del dynpro excepto el "custom control" con lo que no puedo hacerlo invisible.
No se ..... igual me voy olvidando de florituras y lo dejo siempre visible. |
#6
|
|||
|
|||
Para ocultar o mostrar un text edit (esto tambien seria aplicable a casi cualquier objeto) tienes que llamar al metodo set_visible
En tu codigo supongo que crearas el custom container y luego crearas tu editor de texto asociandolo al custom container, algo mas o menos asi DATA: go_cc TYPE REF TO cl_gui_custom_container, go_txt TYPE REF TO cl_gui_textedit. CREATE OBJECT go_cc EXPORTING container_name = 'CONTAINER'. CREATE OBJECT go_txt EXPORTING parent = go_cc. para poder jugar y ocultar o mostrar el control text_edit tendrias que hacer lo siguiente Con esto lo muestras go_txt->set_visible( visible = go_txt->visible_true ). Con esto lo ocultas go_txt->set_visible( visible = go_txt->visible_false ). |
Herramientas | Buscar en Tema |
Desplegado | |
|
|