Power Builder - Consulta sobre parametros entre pantallas

 
Vista:

Consulta sobre parametros entre pantallas

Publicado por Fabian (1 intervención) el 05/06/2006 20:56:19
Buenas, antes q nada les comento q estoy trabajando con PowerBuilder9 y bueno escribo porq necesito pasar parametros desde una ventana a la otra, donde la situaciones la siguiente:

Tengo una ventana con un boton para buscar datos en la otra,
Al presionar dicho boton se desplega una pantalla q me permite buscar estos datos y me minimiza la ventana actual
Al cerrar la ventana de busqueda, necesito q se acualice la ventana q esta minimizada con los datos buscado (codigo y nombre)
(en este ultimo paso esta mi problema, no me pasan los datos desde una ventana a la otra)
Ya he probado con parametros.... quizas le estoy errando en el evento en el cual llamo a lso parametros... pero la verdad es q no me anda

desde ya muchas gracias
Fabián
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:Consulta sobre parametros entre pantallas

Publicado por samuel (13 intervenciones) el 05/06/2006 21:47:42
bueno hay formas de hacer puedes utilizar un 'openwithparm', o como tanto declarar variables estructuradas

// declaras las siguientes variables estructuradas

st_codigo // tipo string
st_apellido // tipo string

// esto programas en el boton buscar de tu w_datos_clientes

open(w_consulta_cliente)
close(parent)

// declaras una variable local en el boton buscar datos

string ls_codigo
ls_codigo = sle_buscar.text

// esto pones en el boton donde quieres buscar tus datos
// filtras solo por codigo

dw_buscar_cliente.setfilter(" ' cod_cliente = ' + ls_codigo + " ' ")
dw_buscar_cliente.filter()

// esto pones en el boton cerrar de tu ventana consulta

dw_buscar_cliente.scrolltorow(1)
st_codigo = dw_1.getitemstring(dw_1.getrow(), "cod_cliente")

open(w_datos_cliente)

w_datos_cliente.dw_cliente.setfilter(" ' cod_cliente = ' + ls_codigo + " ' ")
w_datos_cliente.dw_cliente.filter()

close(parent)

// y eso es todo

//en la ultima parte del codigo en ves de utilizar un 'setfilter' puedes poner un 'retrieve'

esta es una forma de hacerlo sin utilizar un openwithparm.

Espero que te sirva de algo .. cualquier cosa duda o algo que no te salga me avisas, suerte!
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:Consulta sobre parametros entre pantallas

Publicado por samuel (13 intervenciones) el 05/06/2006 21:50:38
// esto pones en el boton cerrar de tu ventana consulta

dw_buscar_cliente.scrolltorow(1)
st_codigo = dw_buscar_cliente.getitemstring(dw_buscar_cliente.getrow(), "cod_cliente")
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:Consulta sobre parametros entre pantallas

Publicado por amilcar (35 intervenciones) el 05/06/2006 21:51:35
hola basicamente el tema seria algo asi, sin conocer mucho tu situacion
primero q nada es recomendable q tu ventana 2 sea de tipo response

scripto del boton

string ls_retorno
linea 1 open(ventana_2)
linea2 ls_retorno=message.stringparm

esto es si devuelves un string al cerrar tu ventana 2 , acuerdate de cerrarla con parametros
closewithreturn(ventana,paametros)

tambien puedes devolver una estructura , en fin lo q desees , ve la ayuda de message

si tienes duda consultanos nuevamente
espero te de una idea
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
sin imagen de perfil

RE:Consulta sobre parametros entre pantallas

Publicado por Edgar Quispe M. (9 intervenciones) el 05/06/2006 21:57:14
Puedes utilizar variables de instancia y hacer asignarles el valor desde tu otra ventana de esta manera

en tu ventana princpial creas un evento de usuario el cual tenga parametros de entrada
como por ejemplo
evento ue_buscar

dw_lista.retrieve(codigo, nombre)

y en tu venetana buscar haces llamado a este evento asignando los parametros que se encuentra en tus respectivos textos de busqueda

string ls_nomre, ls_codigo
ls_codigo = text_codigo.text
ls_nombre = text_nombre.text

w_princpat.event ue_buscar(ls_codigo, ls_nombre)
0 puedes hacerle un filter bueno ya el metodo de busqueda lo determinas como es que deseas

esto lo puedes llamar al momento de maximizar nuevamente tu ventana principal o cada vez que digites el texto que estas buscando

bueno espero te ayude en algo esto
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