¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo cerrar una ventana abierta al hacer clic en un botón - Soluciones prácticas

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 89 Vistas
0
Cargando...

Hola,

Tengo una aplicación que consta de dos ventanas.

Soy capaz de abrir una ventana desde otra ventana usando

lo_window = lo_window_manager->create_window(

window_name = 'ZDUPLICATE'

title = 'DUPLICATE CANDIDATES LISTS'

close_in_any_case = abap_true

message_display_mode = if_wd_window=>co_msg_display_mode_selected

close_button = abap_true

message_type = if_wd_window=>co_msg_type_none

).

Pero el problema es que al hacer clic en un botón quiero cerrar la ventana abierta.

Por favor, hágame saber las soluciones.

Gracias

Bala Duvvuri

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Bala

Necesitas escribirlo en el controlador de eventos del botón que estás utilizando para cerrar la ventana. Sin embargo, para este método también debes definir lo_window (la referencia al objeto) como un atributo global (ya sea en la vista o en el controlador del componente).

Saludos,

Wenonah

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola,

No deberías volver a crear el atributo lo_window nuevamente.

Haz lo siguiente:

1. En el controlador del componente O en el controlador de la vista, define un atributo lo_window de tipo IF_WD_WINDOW

2. Crea y abre la ventana donde sea necesario.


lo_window = lo_window_manager->create_window(
window_name = 'ZDUPLICATE'
title = 'LISTAS DE CANDIDATOS DUPLICADOS'
close_in_any_case = abap_true
message_display_mode = if_wd_window=>co_msg_display_mode_selected
close_button = abap_true
message_type = if_wd_window=>co_msg_type_none
).
lo_window->open( ).

3. En el método del controlador de eventos, escribe solo la siguiente instrucción para cerrar la ventana

 lo_window->close( ). 

Saludos

Wenonah

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Gracias Sridevi, eso resolvió mi problema.

Gracias a todos.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola,

Si estás abriendo la ventana emergente desde la vista, llama al método del controlador del componente desde la vista

y en el método del controlador del componente escribe el código relacionado con la ventana emergente

wd_this->mo_popup = lo_win_manager->create_window(

title = lv_title

window_name = lv_window_name

button_kind = lv_btn_kind

message_type = lv_message_type ).

wd_this->mo_popup->open( ).

donde mo_popup es un atributo en el controlador del componente de tipo ref a if_wd_window.

cuando hagas clic en el botón para cerrar la ventana, llama al método de acción

método del controlador del componente wd_comp_controller->close().

en el método de cierre del controlador del componente escribe el siguiente código

wd_this->mo_popup->close().

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?