Power Builder - Problemas con Datawindow Composite

 
Vista:

Problemas con Datawindow Composite

Publicado por BARRI (4 intervenciones) el 20/01/2003 14:07:26
Buenas, tengo un problema con un datawindow composite.

Los datawindows que componen el composite necesitan retrieval arguments. Y en tiempo de ejecucion cuando hago un retrieve del composite me aparece la ventana de retrieval arguments. Necesito pasarle los parametros a los datawindows del composite sin que me salte la ventana de retrieval. He estado mirando y lo que he visto por ahi es que se usa la funcion "getchild" para obtener una referencia a un datawindow que este dentro de un composite. Adjunto el codigo que tengo puesto:

//por cada uno de los dw que componen el composite
Datawindowchild dw_1,dw_2,dw_3,dw_4
cdw_<<nom_control>>.getchild("<<nom_dwdentrodelcomposite",dw_1)
dw_1.SetTransObject(<<objeto_transaccion>>)
dw_1.Retrieve(<<argumento>>)
//Despues de haber hecho esto para todos los childs
cdw_<<nom_control>>.SetTransObject(<<objeto_transaccion>>)
cdw_<<nom_control>>.Retrieve( )
//Mi composite no necesita argumentos pero los dw que lo componen si.

Salu2 y muchas gracias de antemano.
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: Problemas con Datawindow Composite

Publicado por milson cardona (613 intervenciones) el 20/01/2003 15:23:38
Un saludo especial desde COLOMBIA

Bueno, el getchild es mejor utilizarlo para recuperar datos o mejor dicho para tratar cada DW dwl composite individualmente.....

para pasar retrieval arguments es sencillo,
1-- lo primero que debes hacer es definir todos los argumentos que necesites en todos los DWs que componen el DW composite, lo haces dandole click izquierdo en cualquier parte del composite que no sea un DW, eliges propiedades y luego la pestaña retrieval arguments

2-- despues de que definas todos los argumentos que necesitará el composite, debes definir cuales de esos argumentos utilizará cada uno de los DW que componen el composite, para hacer esto das click izquierdo sobre el DW deseado, eliges propiedades y luego la pestaña arguments, y a cada argumento previamente definido para dicho DW, le asignas el que desees del composite.

espero que me entiendas y creo que así solucionaras el problema.
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

Para Milson Cardona

Publicado por BARRI (4 intervenciones) el 20/01/2003 15:44:20
Hola. Entiendo lo que me dices y lo he hecho pero no me funciona. Te explico lo que hago. En el Composite hago click y en las propiedades en arguments pongo uno de tipo numerico que se llama npedido.
Luego hago click en un dw del composite y en propiedades en argument elijo el npedido.
En codigo pongo lo siguiente:

cdw_<<nombre>>.dataobject="odw_<<composite>>
cdw_<<nombre>>.SetTransObject(SQLCA)
cdw_<<nombre>>.Retrieve(npedido)

Y esto no funciona, me sigue apareciendo la ventana del retrieval. Tambien lo he probado con los datawindowchild y ahi en vez de aparecerme una ventana de retrieval por cada dw del composite que necesita retrieval, me aparece solo 1 (esto sin poner ningun argumento en el retrieve del composite porque si lo pongo me salen no 4 sino 7 ventanitas de retrieve).

Te agradezco tu ayuda y si haber puedes darme la solucion.

Salu2.
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:Para Milson Cardona

Publicado por milson cardona (613 intervenciones) el 20/01/2003 16:07:30
Un saludo especial desde COLOMBIA

- cuantos DW tienes en el COMPOSITE, recuerda que si tienes varios, a cada uno de ellos le debes hacer el mismo proceso que al primero si estos piden argumentos de recuperación.

- reviza que el composite que estas modificando, si sea el mismo que estas llamando

- y por último reviza que no tengas 2 DW composite que se llamen igual en librerias diferentes, porque podría suceder que este modificando uno y al ejecutar el programa, este utilice el otro.... te lo comento porque esto es comun que suceda.

me comentas como te va
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