Power Builder - Datawindows padre e hijo??

 
Vista:

Datawindows padre e hijo??

Publicado por Ricardo Ríos (20 intervenciones) el 26/04/2007 20:29:35
Hola q tal todos? jeje otro post mio que tal? ok con esto me he estado matando la cabeza en esto, y gracias por leer todos mis posts

Tengo 2 tablas una AREAS y otra SUBAREAS

AREA SUBAREAS

id_area -> P
area <-- Foranea--> area -> P
subarea1
subarea2
subarea3
subarea4
subarea5
subarea6
subarea7
subarea8
subarea9
subarea10

He intentado mil y una maneras de que al seleccionar las areas en algun objeto me salgan las subareas respectivas en otro objeto, intente con un dropdownlistbox (ddlb) y un cursor para el respectivo select pero no haye la forma de que me salieran las subareas

En estos momentos me encuentro intentandolo con 2 datawindows (dw_1) para que al hacer click en una columna del primer datawindows (area) me salgan las subareas dependientes de esa area el el otro datawindows (dw_2)

Tengo PB 7.0 por lo que no tengo la opcion del datawindows del tipo dropdownlistbox, si alguien tiene alguna idea o me pudiera ayudar, se los agradeceria muchisimo, gracias por su tiempo.

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
sin imagen de perfil

RE:Datawindows padre e hijo??

Publicado por L.Barzi (133 intervenciones) el 26/04/2007 20:44:08
Hola Ricardo, te dejo este post, donde me ayudo el amigo Jancarlo:

http://www.lawebdelprogramador.com/news/mostrar_new.php?id=73&texto=Power+Builder&n1=333070&n2=0&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0

Cualquier duda hazla saber.

Saludos

[Lima - Perú]
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:Datawindows padre e hijo??

Publicado por Ricardo Ríos (20 intervenciones) el 26/04/2007 22:17:40
Amigo ese codigo seriviria para el PB 10 mi version es la 7.0 saludos
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:Datawindows padre e hijo??

Publicado por Jancarlo (890 intervenciones) el 26/04/2007 22:28:09
Hola, en todo caso dinos q parte del código no va en en PB 7 y te ayudamos a adaptarla. Aunque me parece q todo esta correcto ya q este código fue probado en la version 8 sin problemas.

Nos comentas.

Saludos!
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:Datawindows padre e hijo??

Publicado por Ricardo Ríos (20 intervenciones) el 26/04/2007 22:32:22
Creo que en la parte de los argumentos no me funciona, o no se si me podrian explicar en que evento va porque probe en varios objetos y elementos y me daba error, saludos
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:Datawindows padre e hijo??

Publicado por Jancarlo (890 intervenciones) el 26/04/2007 22:35:23
Puedes mostrarnos q error te daba....
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:Datawindows padre e hijo??

Publicado por Ricardo Ríos (20 intervenciones) el 27/04/2007 16:04:55
En el evento que pusiera ese codigo me decia que la variable no existia

el problema es que desde la version 8 en adelante tienen el objeto dropdowndatawindow (DDDW) cuestion que no posee el 7 por eso me doy cuenta que debo realizarlo manual con las columnas de un datawindows (DW) o por medio de un dropdownlistbox (DDLB) en conjunto con un cursor y select,

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:Datawindows padre e hijo??

Publicado por Jancarlo (890 intervenciones) el 27/04/2007 17:22:03
Lo q pasa es q debes adaptar las variables según los objetos de tu aplicativo.
Respecto a la versión y el uso de DDDW ... este objeto esta incluido desde la versión 3 o 4 de PB asi q no deberias tener problemas con eso.

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:Datawindows padre e hijo??

Publicado por Ricardo Rìos (1 intervención) el 27/04/2007 17:37:41
Ok amigo en mi panel de herramientas ni en mi painter esta ese DDDW donde lo podria conseguir para facilitarme el trabajo?

Lo que he hecho hasta ahora es un DW de tipo grip que cuando hago click en una columna y luego en el boton subareas CB_1 este me hag un select dependiendo de la columna, pero no he encontrado el codigo fuente correcto para filtrar a traves de una variable

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:Datawindows padre e hijo??

Publicado por Jancarlo (890 intervenciones) el 27/04/2007 18:13:59
Un DDDW no esta definido como un objeto fisicamente, sino mas bien es definido asi ya q es x la manera como lo usas. Para crear uno de estos simplemente crear un DW (de preferencia Grid) y luego este lo anidas en un campo de un DW q ya tengas creado (es ahi donde toma el nombre de DDDW).
Todo campo de un DW tiene en el tab Edit la opción de seleccionar el tipo, tu puedes colocar el tipo DropDownDataWindow y en la parte inferior te mostrará un espacio en donde podrás seleccionar el DW q usaras como DDDW, luego indicas el campo q se mostrará y el q se almacenará.

Si aún sigues con dudas nos lo haces saber

Saludos!
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:Datawindows padre e hijo??

Publicado por Leopoldo Taylhardat (710 intervenciones) el 30/04/2007 19:34:06
Tienes que tener claro dos cosas...
1) un dddw es simplemente un dw que se anida en una columna de otro dw, es decir cualquier datawindow puede llegar a ser un dddw.
2) para definir en una columna de una tabla un dddw, debes seleccionar en el tipo de edicion (Edita tab) de la columna el dddw, se te abren tres filas de edición básicas que son: nombre del dw que va a funcionar como dddw, el campo de despliegue (visualización) y el campo de datos (de donde se va a tomar el dato que se va a almacenar) en la columna de la tabla.
Adcional, se abren otros datos tales como: numero de renglones a desplegar cuando se enfoca la columna, si es editable, flecha vertical, etc...

Si trabajas con 2 dw (padre-hijo podríamos llamarlo) tendrías un dw con las áreas y otro dw con las subareas, al seleccionar un area, el primer dw en el evento "RowFocusChanged!" haría un Retrieve al segundo dw (las Subareas) con el valor (Retrieval Argument) (Número o nombre) del area para extraer de la tabla las subareas que pertenecen a esa area...
Si trabajas en el mismo dw, es decir tienes una columna de area y otra de subarea, puedes trabajar con dwchild, que sería un dw definido para las subareas con el argumento de area... entonces cuando en la columna de area te cambie el valor en el script de itemchanged harías el retrieve del dwchild de la columna de subarea....
Para definir un dwchild:
Tendrías el dw que toma el nombre y el código de subarea con el argumento: area...por ejemplo de nombre (físico) dddw_subarea, el nombre del subarea sería por ej: nombre_subarea, y el codigo de subarea: codigo_subarea
colocas en la columna de la subarea del dw donde guardas la información (que tiene los datos (area y subarea) tipo (Edit) dddw, datawindow Name: dddw_subarea, dato a visualizar: nombre_subarea, dato a almacenar: codigo_subarea.
//definir variable... recomendable de instancia...
datawindowchild idwc_subarea
//script:
dw_1.SetTransObject(SQLCA)
//despues del settransobject del dw donde se van a guardar los datos:
dw_1.GetChild('sub_area',idwc_subarea)
idwc_subarea.SetTransObject(SQLCA)
//Buscas el valor mínimo del area y haces el retrieve para que no te aparezca la ventana de argumentos cuando se inserte el primer renglón...
integer il_codarea
Select min(codigo_area) from areas into il_codarea;
idwc_subarea.retrieve(il_codarea)
// en el evento itemchanged del dw (en este caso como ejemplo dw_1)
integer integer il_codarea
CHOOSE CASE dwo.name
CASE 'codigo_area'
il_codarea=long(data)
idwc_subarea.retrieve(il_codarea)
END CHOOSE
..
Espero que te dé un poco de luz este ejemplo...
Saludos desde Maracay, 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:Datawindows padre e hijo??

Publicado por Ricardo Ríos (20 intervenciones) el 30/04/2007 19:52:34
Buenas Tardes

Amigos gracias por su apoyo en esto pero creo que necesitare que me guien paso a paso, he lanzado varios codigos al aire, pero no he podido lograr nada concreto, si saben de algun manual o tutorial para realizar esto se los agradeceria en el alma

Saludos desde Maracaibo, 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:Datawindows padre e hijo??

Publicado por Jancarlo (890 intervenciones) el 01/05/2007 02:08:23
Mandame pantallazos a mi correo y verems en q te puedo ayudar ... trata de colocar el nombre de los objetos principales q usas ..

Saludos !
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