DataWindows ¿Que es el DataWindows? DataWindows es la tecnología que se implemento en Power Builder diseñado para trabajar con bases de datos Relacionales. !ecnología DataWindow se lle"a a cabo en dos partes D#!#W$%D&W '&%!R&( Es el control o componente es un contenedor para el objeto DataWindow en la aplicaci)n. *sted escribe
,ste es un control "isual el cual posee propiedades- e"entos- m+todosm+todos- tiene la capacidad de contener un datawindows objets- a sea este creado pre"iamente con el editor gra/ico- o simplemente utili0ando recursos din1micos. el c)digo que llama a los m+todos del contenedor para manipular el objeto DataWindow.
D#!#W$%D&W &B2,'!. De/ine el origen de datos estilo de presentaci)n de los datos. ,ste ,ste no puede ser llamado
m1s que
desde el DataWindow control- el cual tiene la capacidad de manejarlo- a este personalmente le llamo llamo el 3,*D&(,%4*#2, 3,*D&(,%4*#2, de Power BuilderBuilder- posee las características de propiedades- /unciones- en lugar de m+todos e"entos- este inclue objetos adicionales internos. ,l DataWindow /ue in"entado originalmente para su uso en PowerBuilder para proporcionar la recuperaci)n de datos poderosa manipulaci)n- actuali0ar las capacidades de aplicaciones de cliente 5 ser"idor. #6ora- el DataWindow est1 disponible en "arios ambientes • PowerBuilder DataWindow
*n control para el uso en entornos cliente 5 ser"idor aplicaciones
distribuidas de PowerBuilder. • Web DataWindow Para aplicaciones Web que proporciona los datos- la manipulaci)n- presentaci)n
capacidades de scripting m1s del DataWindow PowerBuilder- que requiere la DataWindow componente de Web en un ser"idor de componentes pero no PowerBuilder D(( en el cliente. • Web DataWindow DTC # un control en tiempo de diseño utili0ado para representar el DataWindow
Web en un equipo de desarrollo. ,l D!' es un control #cti"e7 que genera un conjunto de instrucciones para el componente de DataWindow en un ser"idor ser"idor de componentes. ,l componente genera un DataWindow Web para mostrar en un e8plorador del cliente.,l e8plorador del cliente no necesita apoo a los controles #cti"e7 para mostrar la Web DataWindow. • Sybase DataWindow Web control for ActiveX un control #cti"e7 para su uso en p1ginas Web.
,l e8plorador del cliente debe ser compatible con los controles #cti"e7 para mostrar un objeto DataWindow utili0ado por este control • DataWindow plugin .DataWindow plugin de un na"egador plug9in que muestra los in/ormes de
Powerso/t. !ambi+n puede utili0ar objetos como contenedores de almac+n de datos para un objeto DataWindow.
#lmacenes de datos proporcionan una /uncionalidad DataWindow para recuperar manipular datos sin la "isuali0aci)n en pantalla. *sos de almacenes de datos incluen la especi/icaci)n diseños para la impresi)n gesti)n de datos en el componente de ser"idor de una aplicaci)n distribuida. ¿Qué objetos son DataWindow ?
*n objeto DataWindow es un objeto que se utili0a para recuperar- presentar manipular datos de una base de datos relacional o de otro origen de datos :como una 6oja de c1lculo ,8cel o un arc6i"o de dB#3,;. *sted puede especi/icar si el objeto DataWindow admite la actuali0aci)n de los datos. . DataWindow object tiene conocimiento sobre los datos que se est1 recuperando. *sted puede especi/icar /ormatos de "isuali0aci)n- estilos de presentaci)n- las propiedades de otros datos para que los datos signi/icati"os para los usuarios. ,n el DataWindow painter-- usted puede tambi+n 6acer el in/orme de Powerso/t :P3R;- arc6i"os que se pueden utili0ar en los controles DataWindow o componentes. *n arc6i"o P3R contiene una de/inici)n de in/orme9esencialmente una nonupdatable DataWindow object- así como los datos contenidos en el in/orme cuando el arc6i"o P3R /ue creado. %o recuperar los datos.
Presentaci!n de estilos y fuentes de datos 'uando se de/ine un objeto DataWindow- usted elige un estilo de presentaci)n un origen de datos. *n estilo de presentaci)n se de/ine un estilo típico del in/orme se ocupa de /ilas se agrupan en la p1gina. Puede personali0ar la /orma en que se muestren los datos de cada estilo de presentaci)n.(os estilos de presentaci)n son
Presentaci!n de Descripci!n estilo
!abular =ree/orm 4rid. (abel %9*p
4roup 'omposite 4rap6 'rosstab. Ric6!e8t &(, &(,
'olumnas de datos a tra"+s de la p1gina encabe0ados por encima de cada columna.
columnas /ormato de /ila como una 6oja de c1lculo con las líneas de cuadrícula.(os usuarios pueden mo"er los bordes columnas
Fuentes de datos
,l origen de datos especi/ica que los datos del DataWindow pro"iene qu+ elementos de datos se muestran. (os datos pueden pro"enir de las tablas de una base de datos- o bien puede importar datos de un arc6i"o o especi/icar los datos en el c)digo. Para bases de datos- la especi/icaci)n de los datos se guardan en una sentencia 3Q(. ,n todos los casos- el objeto DataWindow guarda los nombres de los elementos de datos para mostrar- así como sus tipos de datos. Tabla 1-2: Las fuentes de datos que puede utilizar para un DataWindow Data source "uente de datos
Descripci!n
QuicA 3elect 3elecci)n R1pida
(os datos pro"ienen de una o "arias tablas de una base de datos 3Q(.
(as tablas deben estar relacionados a tra"+s de una cla"e e8terna. *sted tiene que elegir s)lo las columnas- los criterios de selecci)n clasi/icaci)n. 3Q( 3elect 3,(,'! *sted quiere m1s control sobre la instrucci)n de selecci)n que se genera para el de 3Q( origen de datos. *sted puede especi/icar agrupaci)n- las columnas calculadas- así sucesi"amente. Quer (os datos a 6an sido seleccionados la instrucci)n 3Q( se guarda en un objeto de 'onsulta consulta que se 6an de/inido en el pintor de consultas. #l de/inir el objeto DataWindow- el objeto de consulta se 6a incorporado al DataWindow no necesita estar presente cuando se ejecuta la aplicaci)n 3tored Procedure (os datos se de/ine en un procedimiento almacenado de base de datos. Procedimiento almacenado ,8ternal ,8ternos . (os datos no se almacenan en una base de datos- pero se importa desde un arc6i"o :por ejemplo- separados por un arc6i"o de base; o rellena a partir de c)digo.
Procesos# ,l uso de un DataWindow implica dos pasos principales *tilice el DataWindow Painter para crear o editar un objeto DataWindow. ,n el pintor- se de/ine el origen de datos- el estilo de presentaci)n- todas las dem1s propiedades del objeto- tales como /ormatos de presentaci)n- reglas de "alidaci)n- selecci)n criterios de /iltrado- gr1/icos. C ,n el entorno de desarrollo- colocar un control DataWindow o un componente en una "entana- un /ormulario o p1gina Web asociar un objeto DataWindow con +l. ,s a tra"+s de este control que su aplicaci)n se comunica con el DataWindow objetos que cre) en el pintor DataWindow. ,scribir c)digo para manipular el control DataWindow el objeto DataWindow que contiene. %ormalmente- el c)digo recupera actuali0a los datos- cambia la apariencia de los datoscontrola los errores- comparte datos entre controles DataWindow.
Elecci!n de la tecnolog$a DataWindow
Dado que la tecnología DataWindow se puede utili0ar en di/erentes ambientes- puede que no sea ob"io qu+ en/oque se debe tomar para implementar su aplicaci)n compatible con los datos,n esta secci)n se describen las tecnologías disponibles para DataWindow tres arquitecturas de aplicaciones b1sicas los requisitos para cada soluci)n DataWindow. (as arquitecturas b1sicas son • Client%server un programa se ejecuta en una estaci)n de trabajo cliente tiene acceso a una base de
datos que se ejecutan en un ser"idor. (a inter/a0 de usuario la l)gica de negocio residan juntos en el equipo cliente. • Distributed application# (a inter/a0 de usuario en el equipo cliente llama a los componentes en un
ser"idor de ni"el medio- que ejecutan la l)gica de negocio acceso al ser"idor de base de datos. • Web application# *n cliente del e8plorador Web en"ía una solicitud de documentos !E( o 23P en
un ser"idor Web. ,l ser"idor Web pasa el control a una aplicaci)n o ser"idor de la p1gina- donde la dimensi)n scripts de ser"idor pueden acceder a los componentes en un ser"idor de transacciones que se pueden conectar a bases de datos en un ser"idor de base de datos.
Poner un ob&eto DataWindow en un control ,l control DataWindow es un contenedor de objetos DataWindow en una aplicaci)n. Proporciona propiedades- m+todos e"entos para la manipulaci)n de los datos la apariencia del objeto DataWindow. ,l control DataWindow es parte de la inter/a0 de usuario de su aplicaci)n. !ambi+n puede utili0ar objetos DataWindow en el almac+n de datos no "isuales en c6ild DataWindows- como drop9down DataWindows presentaci)n de estilos compuestos. Para usar el objeto DataWindow en una aplicaci)n- se agrega un control DataWindow a una "entana o /orma- a continuaci)n- asociar que el control con el objeto DataWindow Figura 2-1: Poner un objeto DataWindow en un control DataWindow
,sta parte 6a que tener en cuentae • •
•
%ombres de los controles DataWindow objetos DataWindow Procedimientos para la inserci)n de un control la asignaci)n de un objeto DataWindow para el control ,speci/icar el objeto DataWindow durante la ejecuci)n
'o(bres de los controles DataWindow y ob&etos DataWindow a dos nombres a tener en cuenta cuando se trabaja con un DataWindow
. ,l nombre del control DataWindow C. ,l nombre del DataWindow objeto asociado con el control El no(bre del control DataWindow 'uando se coloca un control DataWindow en una "entana o
/ormulario- recibe un nombre predeterminado. *sted debe cambiar el nombre a algo signi/icati"o para su aplicaci)n. ,n PowerBuilder- el nombre del control 6a tenido tradicionalmente un pre/ijo de dwF%ombre. ,sta es una con"enci)n @til para obser"ar en cualquier entorno de desarrollo. Por ejemplo- si el DataWindow listas de control de clientes- es posible que quieras darle un nombre dwFclientes . )tili*ando el no(bre
,n el c)digo- se re/ieren siempre a un DataWindow por el nombre del control :por ejemplo- dwFclientes;. %o se re/ieren al objeto DataWindow que est1 en el control. El no(bre del ob&eto DataWindow Para e"itar con/usiones- debe utili0ar pre/ijos di/erentes para los
objetos DataWindow controles DataWindow. ,l dF pre/ijo se utili0a com@nmente para objetos DataWindow. Por ejemplo- si el nombre de la DataWindow control es posible que desee el nombre del DataWindow object correspondiente dFclientes
Traba&ar con el control DataWindow en PowerBuilder ❖
Para reali*ar un control DataWindow en una ventana#
#bra la "entana que contendr1 el control DataWindow. C 3eleccione Insetar >> 'ontrol DataWindow en la barra de men@. G aga clic donde desea que el control para mostrar. PowerBuilder agregara un control DataWindow "acía en la "entana
H :&pcional; 'ambie el tamaño del control DataWindow- seleccionando arrastrando uno de los controladores.
Especificaci!n de un ob&eto DataWindow
Despu+s de colocar el control DataWindow- se asocia un objeto DataWindow con el control. ❖
Para asociar un ob&eto DataWindow con el control#
,n la "ista de propiedades DataWindow- 6aga clic en el bot)n ,8aminar para la propiedad Data&bject. C 3eleccione el DataWindow objeto que desea colocar en el control 6aga clic en #ceptar. ,l nombre de la muestra objeto DataWindow en el cuadro de Data&bject en las propiedades de "ista DataWindow. G :&pcional; 'ambie las propiedades del control DataWindow- seg@n sea necesario. Per(itir a los usuarios (over controles DataWindow
$/ 3i desea que los usuarios puedan mo"er un control DataWindow durante la ejecuci)n- le dan un título seleccione la casilla de "eri/icaci)n Barra de !ítulo. # continuaci)n- los usuarios pueden mo"er el control arrastrando la barra de título
Definici!n de controles reutili*ables DataWindow ,s posible que desee todos los controles DataWindow en su solicitud para que la apariencia comportamiento similares. Por ejemplo- usted podría querer a todos a 6acer lo mismo el control de errores. Para poder de/inir estos comportamientos una "e0 reutili0arlos en cada "entana- se debe crear un usuario est1ndar objeto basado en el control DataWindow de/inir usuario propiedades de objetos escribir secuencias de comandos que reali0an el tratamiento gen+rico que desee- como el control de errores. # continuaci)n- coloque el objeto de usuario :en lugar de un nue"o control DataWindow; en la "entana. ,l objeto de usuario DataWindow tiene toda la /uncionalidad deseada prede/inida. %o es necesario que lo a especi/icar.
Edici!n de la DataWindow ob&eto en el control *na "e0 que se 6an asociado un objeto DataWindow con un control DataWindow en una "entana- se puede ir directamente al pintor DataWindow para editar el objeto DataWindow asociados. ❖
Para editar un ob&eto DataWindow asociadas#
I 3eleccione Eodi/icar DataWindow de pop9up men@ de control de la DataWindow. PowerBuilder abre el objeto DataWindow asociados en el DataWindow Painter.
Especificando el ob&eto DataWindow durante la e&ecuci!n Ca(biar el ob&eto DataWindow
(a /orma de cambiar el objeto DataWindow depende del entorno • PowerBuilder ,stable0ca la propiedad Data&bject a uno de los objetos DataWindow integrada en la
aplicaci)n .
• Web ActiveX #juste el Web ActiveX DataWindow&bject propiedades 3ource=ile%ame para
seleccionar un arc6i"o de biblioteca nue"a DataWindow • Web DataWindow 3i no est1 utili0ando el objeti"o del modelo de objetos Web- usted puede llamar al
m+todo 3etDW&bject en el generador de componente DataWindow !E( Configuraci!n del ob&eto de transacci!n cuando se ca(bia el ob&eto DataWindow
'uando se cambia el objeto DataWindow durante la ejecuci)n- es posible que tenga que llamar settrans o set!rans&bject nue"o.
Ca(bio del DataWindow en PowerBuilder Al establecer la propiedad Data+b&ect en el c!digo
#l asociar un objeto DataWindow con un control en la "entana- "a a con/igurar el "alor inicial del control de Data&bject la propiedad de la DataWindow. Durante la ejecuci)n- este le dice a su aplicaci)n para crear una instancia del objeto DataWindow se especi/ica en la Data&bject propiedad de control uso en el control. #dem1s de especi/icar el objeto DataWindow en el pintor de "entanas- puede cambiar el objeto que se muestra en el control durante la ejecuci)n cambiando el "alor de la propiedad Data&bject en el c)digo. Por ejemplo para mostrar la dFempF6ist objeto DataWindow emp.pbl de la biblioteca en el dwFemp control DataWindow- usted puede codi/icar dw_emp.DataObject = "d_emp_hist"
,l dFempF6ist objeto DataWindow se cre) en el pintor DataWindow se almacena en una biblioteca en el camino de b@squeda de aplicaciones. ,l dwFemp de control se encuentra en la "entana se guarda como parte de la de/inici)n de la "entana. Prevenci!n de volver a dibu&ar
*sted puede utili0ar el m+todo 3etRedraw para apagar nue"o tra0ado con el /in de e"itar el parpadeo reducir el tiempo de "ol"er a dibujar cuando usted est1 6aciendo "arios cambios en las propiedades de un objeto o control. 'ambiar din1micamente el objeto DataWindow en tiempo de ejecuci)n se con"ierte implícitamente en el nue"o tra0ado. Para acti"ar de nue"o tra0ado de nue"o- llamar al m+todo 3etRedraw cada "e0 que cambie el objeto DataWindow dw_emp.DataObject = "d_emp_hist" dw dw_emp.SetRedraw(FALSE)
. )so de arc,ivos de PS- Para poner un arc6i"o P3R en un control DataWindow en tiempo de ejecuci)n- de control de cambios de Data&bject la propiedad para especi/icar el nombre del arc6i"o P3R.