Power Builder - Pasar datos entre datawindows

 
Vista:

Pasar datos entre datawindows

Publicado por Itandehui (7 intervenciones) el 01/06/2010 15:00:59
Buenas a todos

Hace varios meses, una compañera de trabajo me mostró un programa en Power Builder. Ella manejaba dos datawindows, un de tipo freeform para insertar y modificar datos en la base, y otro de tipo grid, en otra ventana, para filtrar datos según el usuario los buscaba. Sin embargo, me llamó la atención el hecho de que, al darle doble clic a alguna de las filas en la ventana para buscar, ésta se cerraba y el registro al que se le dio doble clic se mostraba en la primera ventana.

He buscado varias veces como hacer esto, pero o no planteo bien mi búsqueda o es tan simple que nadie lo pregunta. Soy principiante en Power Builder y ya no mantengo contacto con esa compañera como para preguntarle, así que, ¿alguien podría decirme como hacer esto, por favor?

De antemano, gracias por su atención y su tiempo.

Itandehui Ramírez
[email protected]
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:Pasar datos entre datawindows

Publicado por Daniel Rodas (27 intervenciones) el 02/06/2010 17:31:24
Bien, lo que quieres hacer es simple:

01. En el evento doubleclicked de la Dw origen:
long ll_cant
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:Pasar datos entre datawindows

Publicado por Daniel Rodas (27 intervenciones) el 02/06/2010 17:54:10
Bien, lo que quieres hacer es simple:

01. En el evento doubleclicked de la Dw origen:
long ll_cant
integer il_i
//variables para los campos de la dw_origen que seran trasladados a la dw_destino
string ls_nombre, ls_codigo
decimal dl_valor

ll_cant = dw_origen.rowcount()

if ll_cant > 0 then
for il_i = 1 to ll_cant
ls_codigo = dw_origen.object.codigo[il_i]
ls_nombre = dw_origen.object.nombre[il_i]
dl_valor = dw_origen.object.valor[il_i]

//setitem en la dw_destino

w_ventanadestino.dw_destino.object.codigo[ili_i] = ls_codigo
w_ventanadestino.dw_destino.object.nombre[ili_i] = ls_nombre
w_ventanadestino.dw_destino.object.valor[ili_i] = dl_valor
next
end if

open(w_ventanadestino)

Esto es basicamente lo que necesitas
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:Pasar datos entre datawindows

Publicado por Tiburoncin (28 intervenciones) el 02/06/2010 22:11:19
Itandehui Ramírez,
Lo que viste en el programa de tu compañera es muy simple, para tu caso por ejm tenemos la ventana de la lista y la ventana del mantenimiento (2 ventanas cada una con su propio datawindow).
Las llamaremos:
w_lista con su dw_lista
w_mantenimiento con su dw_mantenimiento

en el evento doubleclick del dw_lista hacemos:
string ls_codigo
ls_codigo = dw_lista(row, 'campo_llave')
openwithparm(w_ventana, ls_codigo) //abrimos la ventana pasandole el codigo de un producto por ejm
close(parent) //cerramos la ventana actual osea w_lista

en el evento open de la ventana w_mantenimiento

string ls_codigo
ls_codigo = message.stringparm //recibimos el valor q nos mando w_lista

if not isnull(ls_codigo) then
dw_mantenimiento.retrieve(ls_codigo) // recuperamos los valores para ese producto para que el usuario le de manteniiento
end if

te recomiendo que leas en el ayuda del power builder sobre openwithparm y closewithreturn

ojala te sirva
salu2
Tiburoncin
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:Pasar datos entre datawindows

Publicado por Itandehui Ramírez (7 intervenciones) el 03/06/2010 16:51:46
Hola.

Muchas gracias a los dos, ya conseguí el mismo efecto en la aplicación que estoy realizando.

Itandehui Ramírez
[email protected]
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