Datawindows avanzado!

Estoy aprendiendo pb 9.0 y se me a hecho complicado entender los datawindows.. Porque hay poca información... Y la que hay es muy básica. Yo necesito sabe paso a paso como hacer maestro-detalles, datawindows composite, enlazar datawindows, datawindows child.. Etc.
Por ejemplo.. Tener un datawindow control con varios datos cabecera de orden de compra y que al elegir el campo numero_orden de una lista desplegable(en cualquier fila).. Se muestre abajo en otro data window control.. El detalle de la orden de compra asociado al item seleccionado.
O tener una lista desplegable independiente... Donde se muestre el código y descripción(ambos campos dentro de la lista)... Y que al seleccionar un item... Abajo se muestre en un dw el detalle asociado...
Solo tengo experiencia en vb.. Y ahí solo programaba en duro en los botones con select directos a la bd.. Y este sistema de datawindows se me hace difícil de entender.
Si es posible que me manden algún manual "avanzado" con detalles sobre los datawindows... O me digan de donde bajar algún manual avanzado referente a esto..
E bajado muchos manuales y todos son básicos y no hacen referencia a lo que necesito.
Se agradece de antemano su interés y tiempo.
Slds, mi correo [email protected]
{"lat":-33.6166921317815,"lng":-71.6152811050415}

1 respuesta

Respuesta
1
Definitivamente información de powerbuilder tanto en Intenet y librerías es muy escaso y solo hay versiones básicas del lenguaje, personalmente al principio tenia el mismo problema, pero buscando en blog, foros, etc. logre entender mucho sobre el lenguaje y desarrollar un pequeño sistema con datawindow relacionados.
Te dejo algunas direcciones donde encontraras algunas direcciones de materiales y aplicaciones:
http://alexcastaneda.blogspot.com/2009/07/libros-gratis-de-power-builder-download.html
http://solopowerbuilder.blogspot.com/
http://infolenguajes.galeon.com/tgeneral2.htm
http://powerbuilder.iespana.es/trucos/trucosg.html
http://infolenguajes.galeon.com/datawin.htm
Y así buscado en la web y con algunos libros lograras entender la potencia y rapidez de construcción de aplicaciones con power builder.
Suerte.
Hola, gracias por responder.
Habían 2 link que no tenía.. de trucos y se ven bastante interesantes.
Sería mucho pedirte si me puedes explicar a grandes rasgos cuando debo utilizar windows composite, child, DropDown datawindow... o enlazados.. no tengo claro esos conceptos... y algunos pasos o ejemplos básicos.. de como crearlos, donde.. ETC, para tener alguna referencia y empezar a practicar.. ya que en todos los ejemplos o trucos se explica asumiendo que uno ya sabe como crearlos pero no queda claro donde definir desde un principio...
Me conseguí un libro de pb 6.0 (edición especial) de William B.Heys... y los ejemplos varían un poco con pb 9.0... pero me ha servido mucho... aunque tampoco se explica bien en detalle todo lo referente a datawindows... o tal vez yo no los entendí.. XD
Te cuento que entre a una empresa en la que tienen un sistema con pb 9.0 y se me a hecho bien difícil seguir el código debido a las herencias... ya que todos los botones no tienen código.. solo llamadas a otras funciones o user object.. y es ahí en donde pierdo el rastro... y como no había utilizado este tipo de programación tan orientada a objetos.. me cuesta entender y tomarle el gusto.
Las datawindows tienen mucho potencial... pero la verdad es que me han dado dolores de cabeza tratando de entender su funcionamiento...
Saludos y gracias nuevamente.
Atento a tu respuesta
Cristian- [email protected]
1. Datawindow Composite: Se usan cuando queremos unir dos datawindow ya creados, por ejemplo: Cuando queremos mostrar un datawindow grid de las ventas y un datawindow graph que muestre en forma gráfica las ventas, para ello tendremos que elegir los dos datawindows ya creados.
2. Cuando queremos relacionar un campo para que muestre su valor, entonces debemos utilizar los DropDownDataWindow o DDDW, como se hace así:
*Tenemos dos tablas, Cliente y Distrito y sus campos son:
//Campos de Tabla Cliente
cod_cliente //codigo del cliente
ape_cliente //apellidos del cliente
nom_cliente //nombres del cliente
dir_cliente //direccion del cliente
Cod_distrito //código del distrito, que es la clave foránea que referencia a la tabla distrito
//Campos de Tabla Distrito
cod_distrito //codigo del distrito
nom_distrito //nombre del distrito
*Creamos dos datawindow: Un datawindow tipo freeform de la tabla Cliente y un datawindow tipo grid de la tabla Distrito.
*Despues de crear el datawindow Cliente nos muestra todos sus campos y en el campo cod_distrito nos mostrara el codigo del distrito (que puede ser para cod_distrito=1 o cod_distrito=2, o cod_disdtrito=3, etc.) y no su valor (el nombre del distrito que puede ser: Lima, Breña,Miraflores,etc.).
*Para solucionar esto tenemos que hacer lo siguiente: en el datawindow cliente hacemos click o seleccionamos el campo cod_distrito, nos vamos a propiedades [Properties] elegimos la ficha o tab [Edit] y nos colocamos en [Style Type], de la lista elegimos [DropDownDW]; mas abajo en [DataWindow] buscamos el Datawindow distrito creado y lo enlazamos. En [Display Column] elegimos el campo nom_distrito y en [Data Column] elegimos el campo cod_distrito. Con esto cuando visualicemos los datos del cliente nos mostrara tambien el nombre del distrito doden vive.
3. Cuando utilizamos los Datawindow Child: Los datawindow Child se crean a partir de los campos relacionados con otros datawindows, como en el caso del campo cod_distrito del datawindow cliente. Por que creamos datawindow child, simplemente para poder manipularlo como si fuera un datawindow cualquiera, pero con algunas limitaciones, ejemplo:
//creamos un Datawindow child del campo cod_distrito del datawindow cliente.
//este codigo va en el evento itemchanged() del datawindow cliente.
DataWindowChild ldwch_distrito
this.GetChild("cod_distrito", ldwch_distrito)
ldwch_distrito.SetTransObject(SQLCA)
ldwch_distrito.Retrieve()
ldwch_distrito.SetFilter("")
ldwch_distrito.Filter()
ldwch_distrito.setsort("cod_distrito A")
ldwch_distrito.sort( )
*Este datawindow child del campo cod_distrito nos servira para ordenar los distritos de forma ascendente.
Observaciones:
*No confundir los datawindow control con los datawindow objecto, los datawindow control sirve para poder contener a los datawindow objeto que creamos de las tablas de la base de datos.
*Powerbuilder usa bastante la porgramacion orientada a objetos asi que te recomiendo aprender herencia con este lenguaje.
*Hay libros en Av. Wilson (frente a las galerias wilson) - Cercado de Lima desde basico hasta intermedio con los que puedes aprender mas sobre powerbuilder.
*Al principio el aprendizaje de este lenguaje parece complicado, pero con el tiempo te daras cuenta que no es asi.
Suerte
Muchas gracias, lo acabo de leer y ya me aclaro varias cosas que había leído en otros ejemplos y no entendía... esto lo que quería.
Me pondré a practicar. Espero que sigas así, compartiendo tus conocimientos con los demás.
Pd:No se si se pueda, pero sería buena idea que Uds como expertos realizaran algún tipo de manual avanzado con ejemplos y experiencias propias... una especie de recopilación que responda a todas las dudas que resuelven.Es solo una idea. Excelente la página.
Saludos. :)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas