lunes, 5 de noviembre de 2012

Teoria de Datawindow

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.




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í:






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