Fuentes de página: DB y Persistent

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Tutoriales > Bases de datos complejas >

Fuentes de página: DB y Persistent

El diseño tiene dos páginas: (i) una página de nivel superior llamada Main Page y (ii) una subpágina llamada Edit Book.

 

Main Page muestra los libros (i) sin filtrar o (ii) filtrados conforme a un término de búsqueda. En Main Page el usuario final también puede: (i) hacer clic en un registro para editarlo y (ii) hacer clic en un botón para añadir un nuevo registro. En ambos casos con el clic se accede a la subpágina Edit Book. Main Page contiene las siguientes cuatro fuentes de página (imagen siguiente): $PERSISTENT, $BOOKS, $BOOKS-SEARCH, $EDIT-BOOK.
La subpágina Edit Book contiene una plantilla con los campos del registro. Si ha accedido a esta subpágina para editar un registro, la plantilla ya contendrá los detalles del mismo. Si ha creado un registro nuevo, la plantilla estará vacía. Edit Book tiene dos fuentes de página: $PERSISTENT y $EDIT-BOOK. También comparte $EDIT-BOOK con Main Page.

Click to expand/collapse

 

$PERSISTENT

La fuente de página $PERSISTENT se usa para almacenar información dinámica. Tiene un único elemento llamado Root que contiene atributos (imagen siguiente) cuyos valores determinan las acciones de los usuarios. Por ejemplo, el atributo show-as-list toma como valor 1 o 0 dependiendo de si el usuario selecciona el botón de opción List o Table.

MTDTutDBBksPgSrcPersistent

Los valores de la fuente de página $PERSISTENT se usan para condicionar varios aspectos del diseño. Por ejemplo, si el valor de show-as-list es 1 el catálogo de libros se muestra como lista y no como tabla.

 

$BOOKS

La fuente de página $BOOKS selecciona la tabla Books de la BD Books.sqlite. En la fuente de página, cada registro de libro corresponde a un elemento Row cuyos campos (o columnas) corresponden a sus atributos. Esto se observa a continuación en las imágenes de la fuente de página en el diseño (izquierda) y en simulación (derecha).

MTDTutDBBksPgSrcBooksDes     MTDTutDBBksPgSrcBooksSim

La fuente de página $BOOKS se usa para mostrar todo el catálogo de libros.

 

$BOOKS-SEARCH

La fuente de página $BOOKS-SEARCH (imagen izquierda) filtra la tabla Books de la BD SQLite Books.sqlite para seleccionar libros si el valor de cualquiera de los campos del registro coincide, al menos parcialmente, con el término de búsqueda. En la imagen de más abajo a la izquierda el filtro se ha configurado en el elemento raíz DB de la fuente de página. En la imagen de la derecha se muestra la instrucción SQL SELECT del filtro. El parámetro :SearchLike de la instrucción SELECT se resuelve en el término de búsqueda que introduce el usuario final.

MTDTutDBBksPgSrcBooksSearch     MTDTutDBBksPgSrcBooksSearchFilter

Durante una búsqueda, en la pantalla de la página de nivel superior la estructura $BOOKS-SEARCH reemplaza a la estructura $BOOKS.

 

$EDIT-BOOK

La fuente de página $EDIT-BOOK es parecida a $BOOKS-SEARCH, ya que también filtra la tabla Books de Books.sqlite. La instrucción SQL SELECT del filtro se muestra en la imagen siguiente. El parámetro :iD de la instrucción SELECT se resuelve en el valor del nodo $PERSISTENT/Root/@edit-book-id, que es el identificador del registro del libro que se edita o añade.

MTDTutDBBksPgSrcEditBookFilter

La fuente de página $EDIT-BOOK se usa como enlace de datos de la plantilla de edición en la subpágina Edit Book. La fuente de página $EDIT-BOOK también contiene un nodo OriginalRowSet (que se debe crear con el menú contextual) para alojar los datos originales, mientras que RowSet contiene la información actual (editada), como se ve en la imagen siguiente.

MTDTutDBBksPgSrcEditBook

 

 


© 2019 Altova GmbH