CREANDO DATAWINDOWS

        Un datawindow es un objeto visual de acceso a los datos.

        Básicamente, este pintor genera una representación visual de una sentencia Sql del tipo select.

                 

        EL OBJETO DATAWINDOWS

        El Objeto DataWindow es un objeto que se usa para recuperar, presentar y manipular datos de una base de datos relacional u otra fuente de datos (como archivos DBF). Puede, además, escoger distintos estilos de presentación (freefrom, Graph,…).

        Los objetos DataWindow tienen conocimiento de los datos que son recuperados. Puede especificar formato de display y otros atributos, de forma tal que los datos son mostrados de manera más significativa.

        Para tener un datawindow en una ventana se debe tener dos elementos:

        • Datawindows Objeto ( ver fig. anterior )

        • Datawindows Control ( Un datawindow control debe asociarse a un datawindow objeto para poder visualizar su contenido en una ventana).

        • Código de conexión de base de datos en el script de la aplicación y de actualización en la ventana en la que se mostrará el datawindow.


        CREANDO UN OBJETO DATAWINDOW

        Para crear un objeto datawindow, seguir los siguientes pasos:

        • Hacer un click en el pintor DataWindow ().

        • A continuación, el window Select Datawindow se displayará.

        • Hacer click en el botón New.

        • La ventana New DataWindow se displayará.


        • Escoger el estilo de presentación: Freeform, tabular, grid, entre otros. (Para el ejemplo se escogerá el tipo GRID)

        • [Opcional ] escoger opciones para el Objeto DataWindow.

        • Escoger un Data Source para el Objeto DataWindow. (Para el ejemplo se escogerá la fuente de datos Quick Select)

        • Hacer click en el botón Ok.

        • Seleccionar la(s) tabla(s) y campos de la(s) misma(s) que se presentarán en el datawindow.

        • Si se desea se puede hacer un previo inmediatamente después que el Objeto Data Window ha sido definido. Para ello hacer click en el botón () de la barra de herramientas del pintor datawindows.

        • [Opcional ] se puede mejorar la apariencia del título y otros.


        • Guardar el Objeto DataWindow ( hacer click en el botón de la barra de herramientas ). A continuación aparecerá la siguiente ventana:

         

        Es conveniente que el
        datawindow objeto tenga el
        mismo nombre que el
        datawindow control.

        • Escribir el nombre con el que se va a guardar el objeto datawindow, seguido de la convención dw_, seleccionar la librería en la que se va a grabar y hacer click en el botón ok.

        MODIFICANDO UN DATAWINDOW EXISTENTE

        • Hacer click al Pintor DataWIndow (datawindow painter).

        • Seleccionar el objeto datawindow de la actual librería.

        • Hacer click en OK.

        • En la ventana que aparecerá a continuación modificar el datawindow seleccionado.

         

         


        ESCOGIENDO EL ESTILO DE PRESENTACION

        El estilo de presentación que se selecciona para un objeto datawindow determina el formato que PowerBuilder usa para el primer display del Objeto DataWindow en el DataWindow painter Workspace.

        Se pueden escoger los siguientes estilos de presentación en un nuevo Objeto DataWindow :

        • Tabular
        • Freeform
        • Grid
        • Label
        • N-up
        • Group
        • Graph
        • Crosstab
                  

        ESTILO TABULAR

        Este estilo de presentación presenta los datos a través de columnas, encabezados(header) y páginas, generalmente muestran muchas filas de las B.D., al mismo tiempo como pueda el Objeto Datawindow. Puede modificar la organización default, moviendo las columnas y textos. Este estilo es frecuentemente usado cuando se quiere agrupar los datos.

        ESTILO FREEFORM

        Este estilo de presentación presenta los datos como columnas de datos, de arriba hacia abajo de la página, con su respectiva etiqueta para cada columna. Puede organizar la definición default moviendo las columnas y textos. Este estilo es frecuentemente usado para entrada de datos(mantenimiento).

        ESTILO GRID

        Este estilo de presentación, presenta los datos en formato fila-columna con lineas grid que separan filas y columnas. No puede mover las columnas y encabezados como en los estilos anteriores.


        ESTILO LABEL

        Este estilo presenta los datos como etiquetas. Escoja este estilo para crear etiquetas de correo u otro tipo de etiquetas.

        ESTILO N-UP

        Este estilo presenta 2 ó más filas en la misma línea del Objeto DataWindow, una seguida de otra. Es similar al estilo label.

        ESTILO GROUP

        Este estilo es una forma corta para crear grupos en un Objeto DataWindow, generando un estilo tabular que está agrupado por ciertas popiedades que son definidas por el que programa.

        ESTILO GRAPH Y CROSSTAB

        Los anteriores estilos son basados en texto. PowerBuilder provee dos estilos que permiten mostrar información gráficamente : graphs y crosstab.


        DEFINIENDO LA FUENTE DE DATOS

        Al definir la fuente de datos (dataSource), se especifica cuál es la fuente de datos que será usada en el Objeto Datawindow. Se puede escoger de las siguientes fuentes de datos:

        • Quick Select
        • SQL Select
        • Query External
        • Stored Procedure
               

        Si los datos que el Objeto DataWindow muestra, proviene de una base de datos, escoger Quick Select, SQLSelect, Query , o Stored Procedure como la Data Source.

        Si los datos a recuperar son de una sola tabla y sólo necesita escoger columnas, criterio de selección y Sort (No necesita agrupar, campos calculados, etc.), escoger Quick Select SQLSelect.

        Si la data ha sido definida y salvada en un query, escoger Query.

        Si la data es definida en un Stored Procedure (procedimieno almacenado), escoger Stored Procedure.

        Si los datos no provienen de una B.D. , escoger Select externa.

        Esto incluye las siguientes situaciones:

        Si los datos serán importados de un archivo externo, tal como un archivo de texto separado por un tab o archivo Xbase(DBF).

        Si los datos serán importados de una aplicación DDE.

        QUICK SELECT

        Si sólo necesita seleccionar columnas de una sola tabla, use Quick Select data source, el Quick Select genera una sentencia SQL.


        SQL SELECT

        Cuando el SQL Select como Data Source, se construye la sentencia SQL select (grafico o texto) que puede incluir lo siguiente:
        Más de una tabla

        • Criterio de selección (clausula Where)
        • Criterio de Sort(clausula Order By)
        • Criterio de agrupamiento (clausula group By y Having)
        • Columnas Computadas

        CREANDO UN CONTROL DATAWINDOWS

          Un control datawindow, como todo control, va pegado en una ventana.

        Para crear un control datawindow y asociarlo con un objeto datawindow, seguir los siguientes pasos:

        • Crear una nueva ventana (window).

        • Seleccionar de la barra de herramientas el control datawindow (ver lista que aparece al lado izquierdo).

        • Pegar el control en la ventana, dándole el tamaño que se estime va a tener el datawindow que se desea mostrar.


        • Asociar el control datawindow al objeto datawindow anteriormente creado.
          Para ello, dar doble click sobre el control datawindow y aparecerá la ventana de propiedades en la que se colocará en el área DataWindow Object Name, el nombre del datawindow objeto.

        • Es conveniente que el nombre del datawindow control sea el mismo que el del datawindow objeto.

        • En el script de la ventana, en la que se encuetra el control datawindow en el evento open, escribir el siguiente código:

        dw_coleccion. settransobject(sqlca)
        dw_coleccion.retrieve( )


        • Si la aplicación no tiene código para CONEXION a base de datos, escribir el siguiente código en el evento open de la aplicación.

        CONTROLANDO LA ACTUALIZACION

        Para controlar la actualización de un datawindow, seguir los siguientes pasos:

        • Hacer un click con el botón derecho del mouse en el control datawindow. Aparecerá una lista como la que se aprecia en la figura.

        • Seleccionar la opción: Modify DataWindow....

        • A continuación aparecerá el entorno datawindow (datawindow workspace).

        • Seleccionar el menú Rows, la opción Update Properties.

         

         


        • Hacer click en OK y el datawindow tendrá la propiedad de actualización.
         
        • A continuación aparecerá una ventana similar a la siguiente, en la que se hará un check al checkbox Allow Updates.

        COMPONENTES DE UN DATAWINDOWS

        Un datawindow consta principalmente de las siguientes áreas:

        En otro tipo de datawindow, también existen áreas como:

        Group Header : Muestra información acerca de los grupos de la cabecera.

        Group Trailer : Muestra los totales por cada grupo creado.

        Barra de color : Se puede cambiar el color del background, texto, etc., desde el popup del menú.


        EVENTOS DE UN DATAWINDOWS

        Los eventos más importantes del objeto datawindow son:

        Evento                               Se ejecuta cuando ...                               .

        Clicked

            El usuario ejecuta un click con el ratón.

        Constructor

            Este evento está presente en casi todos los objetos de PB. Se ejecuta cuando el sistema acaba de crear el objeto.

        DbError

            Ha ocurrido un error de base de datos. Util para capturar errores de la base de datos y tratarlos según nuestro criterio.

        Destructor

            El sistema destruye los objetos, normalmente al cerrar una ventana.

        EditChanged

            Cada vez que el usuario pulsa una tecla y modifica un carácter del contenido de un campo.

        Error

            Se produce un error de validación en un campo.

        ItemChanged

            El usuario ha modificado un campo e intenta cambiar de campo con la tecla tab o el mouse. Util para validar los datos, ya que nos da la oportunidad de rechazar lo que el usuario ha introducido.

        ItemError

            El usuario ha producido un itemchanged pero los datos que contiene el campo no pasan las reglas de validación introducidas en el datawindow object.

        ItemFocusChanged

            El usuario cambia de campo.

        RetrieveEnd

            Ha finalizado una instrucción retrieve (consulta a la base de datos).


        RetrieveRow

            Mientras se está ejecutando una instrucción retrieve y recuperamos cada una de las filas.

        RetrieveStart

            Antes de que se lance la instrucción SQL Select contra la base de datos.

        RowFocusChanged

            El foco cambia de fila. Cuidado con esta instrucción porque se ejecuta por sí sola cuando hacemos un insert, un delete o un retrieve.

        SqlPreview

            Cada vez que ejecutamos funciones de PB que afectan a la base de datos.

        Retrieve,

            Update, etc. Muy útil para depurar el sql que se está generando.

        UpdateEnd

            Ha finalizado la actualización de la base de datos.

        UpdateStart

            Antes de que empiece la actualización de la base de datos.

          Para finalizar DataWindows, algo importante: Normalmente, primero pegas un datawindow control en la ventana, y después le asignas un datawindow object que debes haber creado antes. Pero también se puede hacer ésto dinámicamente a través de un script. El atributo DataObject (de tipo string) es el que asigna el data object a la datawindow. Piensa por un momento en las posibilidades que ésto ofrece.