Sources de page : BD et Persistent

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Tutoriels > Base de données avancée >

Sources de page : BD et Persistent

Le design comporte deux pages : (i) une page supérieure nommée Main page, et (ii) une sous-page nommée Edit Book.

 

Main Page affiche les livres, soit (i) non filtrés, soit (ii) filtrés conformément à un terme de recherche. Dans la Main Page, l'utilisateur final peut aussi : (i) cliquer sur une entrée pour l'éditer, et (ii) cliquer sur une touche pour ajouter une nouvelle entrée. Le clic dans les deux cas permet d'accéder à la sous-page Edit Book. Main Page a quatre sources de page (voir capture d'écran ci-dessous) : $PERSISTENT, $BOOKS, $BOOKS-SEARCH, $EDIT-BOOK.
La sous-page Edit Book contient un modèle contenant les champs de l'entrée. Si une entrée est éditée, le modèle contient les détails du livre. Si une entrée est ajoutée, le modèle est vide. Edit Book a deux sources de page : $PERSISTENT et $EDIT-BOOK. Elle partage $EDIT-BOOK avec Main Page.

Click to expand/collapse

 

$PERSISTENT

La source de page $PERSISTENT est utilisée pour stocker des données dynamiques. Elle a un élément unique nommé Root qui a un nombre d'attributs (voir capture d'écran ci-dessous), les valeurs des attributs sont déterminées par les actions de l'utilisateur. Par exemple, l'attribut show-as-list prend une valeur de 1 ou 0, selon que l'utilisateur sélectionne, respectivement, le bouton radio List ou Table.

MTDTutDBBksPgSrcPersistent

Les valeurs dans la source de page $PERSISTENT sont utilisées pour déterminer de manière conditionnelle les aspects variés du design. Par exemple, lorsque la valeur de show-as-list est 1, le catalogue du livre est affiché en tant que liste, et non en tant que table.

 

$BOOKS

La source de page $BOOKS choisit la table Books depuis la BD SQLite Books.sqlite. Chaque entrée de livre correspond à un élément Row dans la source de page, et les champs (ou colonnes) de chaque ligne de BD correspondent aux attributs de l'élément Row respectif. Cela est affiché dans la capture d'écran ci-dessous de la source de page dans le design (gauche) et dans une simulation (droite).

MTDTutDBBksPgSrcBooksDes     MTDTutDBBksPgSrcBooksSim

La source de page $BOOKS est utilisée pour afficher le catalogue entier de livres.

 

$BOOKS-SEARCH

La source de page $BOOKS-SEARCH (voir capture d'écran ci-dessous à gauche) filtre la table Books depuis la BD SQLite Books.sqlite pour sélectionner les livres où la valeur de tout champ dans l'entrée correspond au moins partiellement au terme de recherche. Dans la capture d'écran ci-dessous à gauche, veuillez noter le filtre, qui est défini dans la source de page sur l'élément racine BD. L'instruction SQL SELECT du filtre est affichée dans la capture d'écran ci-dessous à droite. Le paramètre :SearchLike dans l'instruction SELECT résout au terme de recherche que l'utilisateur final saisit.

MTDTutDBBksPgSrcBooksSearch     MTDTutDBBksPgSrcBooksSearchFilter

L'arborescence $BOOKS-SEARCH remplace l'arborescence $BOOKS dans l'affichage de la page supérieure pendant une recherche.

 

$EDIT-BOOK

La source de page $EDIT-BOOK est semblable à la source de page $BOOKS-SEARCH : elle filtre la table Books depuis Books.sqlite. L'instruction SQL SELECT du filtre est affichée dans la capture d'écran ci-dessous. Le paramètre :iD dans l'instruction SELECT résout à la valeur dans le nœud $PERSISTENT/Root/@edit-book-id, qui est l'ID de l'entrée du livre en train d'être édité ou ajouté.

MTDTutDBBksPgSrcEditBookFilter

La source de page $EDIT-BOOK est utilisée en tant que le lien de données du modèle d'édition dans la sous-page Edit Book. La source de page $EDIT-BOOK contient aussi un nœud OriginalRowSet (qui doit être créé, par le biais du menu contextuel) pour contenir les données originales alors que RowSet contient les données actuelles (éditées) (voir capture d'écran ci-dessous).

MTDTutDBBksPgSrcEditBook

 

 


© 2019 Altova GmbH