Main Page es la página que se abre al iniciar la solución. En este apartado (i) explicamos cómo seleccionar los datos para las fuentes de página y (ii) describimos el diseño y la función del diseño de la página.
Main Page tiene dos fuentes de página: $PERSISTENT y $BookCatalog (imagen siguiente).
La estructura $PERSISTENT es sencilla. Contiene datos seleccionados por el usuario a los que se hace referencia para determinar qué acciones llevar a cabo. Por ejemplo: el género seleccionado por el usuario se guarda en el elemento Genre de la estructura y el ID del libro que se selecciona para la edición se guarda en el elemento EditBookID.
Importante:
•Use la barra de herramientas del panel Fuentes de página para agregar elementos nuevos.
•Defina la propiedad Garantizar que existe al cargar (valor fijo) de todos los elementos como true. Si no define esta propiedad, el elemento no se crea automáticamente en la estructura, por lo que tendría que agregarlo explícitamente.
•Asigne al nodo Genre el valor predeterminado All y al resto de elementos una cadena vacía como valor predeterminado.
La estructura $BookCatalog contiene los datos de la BD. Siga estos pasos:
1.Al agregar una fuente de página, hágalo como estructura de BD y seleccione la BD BookCatalog.sqlite como origen de datos.
2.Queremos seleccionar al autor como elemento principal del libro, por lo que vamos a seleccionar la tabla Authors como la tabla que queremos añadir y hacer clic en Generar una instrucción SELECT.
3.En el cuadro de diálogo siguiente (imagen siguiente izquierda), anexe una instrucción Ordenar por y ordene los registros de autor por AuthorName y después haga clic en el botón Agregar tablas relacionadas.
4.En el cuadro diálogo Agregar o editar relaciones que aparece (imagen siguiente derecha) seleccione la tabla Books, que está jerárquicamente vinculada a Authors por su columna de clave foránea AuthorID.
5.Asegúrese de que la propiedad Cargar datos = La primera vez que se usa de la fuente de página está configurada.
Cuando se abre la página, la fuente de página $BookCatalog carga todos los autores de las tablas Authors de la BD y cada uno de esos autores tendrá uno o más elementos Book que están vinculados al autor mediante la clave foránea del registro del libro.
En la imagen siguiente aparece el diseño de la página principal con notas aclaratorias. El diseño consiste en tres partes principales: (i) una etiqueta para el título de la página, (ii) una tabla estática para seleccionar el género y realizar búsquedas; (iii) una tabla que se repite por cada autor. En la parte inferior del diseño hay una regla horizontal y un elemento espaciador que es puramente estético.
Importante:
•Las funciones de género y búsqueda del segundo componente, la tabla estática, se describen en detalle en sus respectivos apartados: Filtrar por género y Buscar en la BD.
•El tercer componente es una tabla que se repite que está asociada al elemento Row que representa a la tabla Authors. Por tanto, la tabla se repite entera para cada fila de autor (o registro) en la tabla Authors de la BD.
•La tabla que se repite por cada autor tiene tres filas (marcadas en verde claro en la imagen anterior).
•En las dos primeras filas se ven los datos del autor en los controles Etiqueta que se asocian a los nodos de las fuentes de página del elemento Author: AuthorName, Website y Country.
•La tercera fila de la tabla que se repite contiene una tabla dinámica (la última resaltada en verde claro en la imagen anterior) que está asociada a los elementos secundarios Book del elemento Author. El resultado es que se ven los libros del autor dentro de esta tercera fila de la tabla que se repite para cada autor.
•Dentro de cada tabla dinámica Books, cada libro aparece en su propia tabla estática (en naranja, más arriba).
•Cada tabla de libro tiene tres columnas: (i) Etiquetas que contienen el nombre de las respectivas columnas la tabla Books; (ii) valores de las columnas de tabla Books correspondientes, que aparecen al asociar los controles de etiqueta con los nodos de fuente de página relevantes de cada libro; (iii) la imagen de cubierta del libro, que abarca las filas de la tabla estática.