martes, 17 de febrero de 2009

Fuentes de datos (Data Source)

Los datos que se cargan en el DataWindow provienen de una fuente de datos. Las fuentes de datos que se pueden especificar son:
  • Quick Select
  • SQL Select
  • Query
  • External
  • Stored Procedure

Quick Select: Se utiliza para recuperar los datos desde una sola tabla: solo es necesario seleccionar las columnas, los criterios de selección y el ordenamiento.

SQL Select: Permite tener mas control sobre la recuperación de datos. Permite consultas correlacionadas, columnas computadas, agrupamiento de filas y operaciones complejas de recuperación de datos.

Query: Se puede emplear cuando la fuente de datos proviene de una consulta creada y almacenada con el Query Painter.

External: Se utiliza cuando la fuente de datos no es un sistema de bases de datos relacional como las entradas del usuario o un gestor de archivos planos.

Stored Procedure: Permite recuperar los datos a través de procedimientos almacenados en la base de datos.

Estilo de presentación de DataWindow

El estilo de presentación para seleccionar un objeto DataWindow determina el formato a utilizar. Puede utilizar el formato que aparece o modificarlo para satisfacer sus necesidades. Cuando se crea un objeto DataWindow, usted puede elegir entre los estilos de presentación que figuran en la imagen siguiente:

Composite:
Permite mostrar simultáneamente mas de un objeto DataWindow en un solo control DataWindow.


Crosstab:
Presenta los datos como una tabla de dos entradas donde las etiquetas de filas y columnas representan el dominio de dos variables, y las intersecciones de filas y columnas el resultado de una operación ejecutada con una tercera variable.


Freeform:
Permite organizar la presentación de los datos en forma de ficha. Se utiliza para las ventanas de entrada de datos.

Graph:
Muestra una representación gráfica de los datos.


Grid:
Es similar al estilo tabular ya que muestra los datos en un reticulado de filas y
columnas. A diferencia del estilo tabular, el usuario puede reordenar las columnas en
tiempo de ejecución.


Group:
Es un DataWindow tabular que muestra los datos agrupados según determinado criterio.


Label:
Se utiliza para generar etiquetas similares a las etiquetas de correo.


N-Up:
Es similar a un reporte de N columnas. Muestra mas de una fila de datos en una línea de impresión.


OLE 2.0:
Permite especificar una aplicación externa que se utilizará como un servidor OLE para gestionar la presentación del DataWindow.


RichText:
Se utiliza para incorporar datos dentro de un texto a partir de un archivo en formato RTF. Es útil para la elaboración de cartas modelo y en la combinación de
correspondencia (mail merge).


Tabular:
Muestra los datos en formato tabla (filas y columnas).

TreeView:
Disponible desde la versión 10.5. Presenta la información en formato de árbol jerárquico.

lunes, 2 de febrero de 2009

DataWindow Buffers

Cuando la función Retrieve() es llamado, PowerBuilder recupera datos desde la base de datos y almacena esto en el buffer de la memoria, los datos son leidos desde el buffer y mostrados en el Control DataWindow, internamente PowerBuilder mantiene un Edit Control y 4 buffers para cada control DataWindow que son los siguientes:
  • Original
  • Primary
  • Deleted
  • Filtered

Cuando se recuperan los datos de la base de datos, utilizando la función Retrieve(), esto se recupera en el buffer Primary y los demas buffers se mantienen vacios hasta realizar una actividad que pueda llevarlos a ellos.

Adicionando Filas

Se puede agregar filas al DataWindow con las funciones InsertRow (), ImportFile (), ImportString(), ImportClipboard() todas añaden o adicionan filas al buffer primary, pero no tiene ningún efecto sobre otros búferes, como se muestra en la siguiente figura.

Borrando Filas

Cuando se elimina una fila con la función DeleteRow(), la fila o las filas son transferidos desde el buffer Primary al buffer Deleted. Por ejemplo, si elimina Producto 5, los buffer se verán así:

Filtrando Filas

Cuando se filtran las filas utilizando la función SetFilter(), todas las filas filtradas que residen en el buffer Primary son movidas al buffer Filter. Por ejemplo, si el criterio del filtro product_no debe ser superior a 3, los buffers se verán así:

product_no > 3

Modificando Filas

Si modifica una fila en el DataWindow, la fila en el buffer Primary es modificada y el valor original se copia en el buffer Original. Por ejemplo, supongamos que se cambia la descripción del product_no 4 de "Table lamp" a "Desk", los buffers se verán así: