Power Builder - DataWindow

   
Vista:

DataWindow

Publicado por Jhonny Kahwati (8 intervenciones) el 28/10/2007 22:18:59
Hola a todos, necesito de su ayuda para solventar un problema que tengo, les comento que tengo una ventana llamada "Citas Detallada" que contiene un DW donde se reflejan todas las citas detalles de un paciente, si una de las citas de ese paciente tiene un dato erróneo, mi programa tiene la ventaja de corregir los datos de esa cita, y para eso selecciono el registro que contiene el dato erróneo y llamo a la ventana llamada "Modificar Cita" donde el usuario puede realizar la corrección del dato erróneo, una vez que se corrija el dato guardo el registro y cierro la ventana "Modificar Cita", al cerrar dicha ventana queda activa la ventana "Citas Detallada" mostrando todos los registros con los datos erróneos el cual ya fueron corregidos y no han sido actualizados visualmente, yo necesito que cuando yo cierre la ventana "Modificar Cita", los registros que están en el DW de la ventana "Citas Detallada" se refresquen mostrando todos los registros y los datos corregidos o actualizados.

Muchas Gracias y saludos desde Venezuela.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:DataWindow

Publicado por Alejandro Nava (18 intervenciones) el 29/10/2007 05:22:13
OPCION 1: Cuando abres la ventana "Modificar Cita" la ventana "Citas Detallada" queda inactiva, lo que debes hacer es codificar un RETRIEVE de tu DW en el evento ACTIVATE de la ventana "Cita Detallada", este evento es ejecuta al momento de que la ventana tiene de nuevo el foco o se activa....

OPCION 2: Desde la ventana "Modificar Cita" escribe la siguiente linea de codigo:
w_citadetallada.dw_1.retrieve();

donde:
w_citadetallada debe ser igual al nombre de tu ventana "Cita detallada"
dw_1 debe ser igual al nombre del DW dentro de la venta "Cita detallada"

Saludos, espero esto sea lo que necesites....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DataWindow

Publicado por alberto (73 intervenciones) el 29/10/2007 14:57:49
no es necesario volver a ejecutar un retrieve

lo que podrías hacer es pasar un argumento por referencia que contenga el datawindow mismo donde están los datos. entonces las modificaciones de corrección las harías directamente sobre el datawindow que las debe mostrar.
una vez finalizado este proceso, se debe continuar con la grabación de las modificaciones. esto ahorraría tiempo de acceso a datos.

es la respuesta según lo que creo haber entendido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DataWindow

Publicado por Jhonny Kahwati (8 intervenciones) el 30/10/2007 01:02:46
Hola Alberto, tu me puedes explicar detalladamente como puedo hacer lo que tu me dices ya que probé lo que me dijo Alejandro y no me resulto.

Espero me ayudes.

Saludos desde Venezuela.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DataWindow

Publicado por Jorge escobar (2 intervenciones) el 30/10/2007 03:46:20
no te recomiendo que hagas un retrieve en el evento active del window. porque simplemente cada vez que la ventana pasa de inactiva a activa va hacer un retrieve sin hacer previamente una actualizacion (update)

supongo que al abrir la vetana envias algunos parametros como el codigo de la cita, ok!, de igual manera (si tu ventana modificar cita es de tipo response) puedes devolver un valor (ejemplo 1 si has hecho cambios, - 1 si no hay ningun cambio en modificar cita )
esto lo haces con un CloseWithReturn(numero)

entonces en el evento, boton,objeto de donde lo invoques a modificar cita puedes hacer estoy
integer li_rc
// abres tu ventana modificar cita
li_rc = Message.DoubleParm
If li_rc = 1 Then
dw_1.retrieve(argumentos )
end if


// otro caso es que tu window modificar cita no sea response (en una structura envia estos parametros)
s_parametros lstr_parametros
lstr_parametros.s_argumento = // cualquier varlo
lstr_parametros.dw_datawindow = nombre del datawindow de citas detallada

puedes enviar el datawindow que esta en cita detallada como parametro a la modificar cita y en esta ventana algo asi
If dw_1.Update() = 1 then
lstr_parametros.dw_datawindow.retrieve()
end IF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar