La table Edit Offices a été créée sur une page de niveau supérieur séparée. Lorsque la solution est exécutée, cette page est accessible depuis la page principale (capture d'écran en-dessous à gauche). Cliquer sur le bouton Edit Offices Table pour charger la table Edit Offices (capture d'écran en-dessous à droite). La table Offices a sept lignes, chacune d'entre elles contient une colonne d'ID non-éditable, une colonne City éditable et une commande Supprimer (capture d'écran en-dessous à droite). De plus, vous trouverez une commande d'ajout de ligne en-dessous de la dernière ligne, un bouton Soumettre dans la barre Edit Offices Table et un bouton Retour pour retourner à la page précédente (la page principale, dans ce cas).
Dans le projet, les boutons Edit (première capture d'écran ci-dessous) ont tous les deux été attribués à l'action Aller à la page pour leurs événements SurClicDuBouton respectifs (cliquer avec le bouton de droite sur le bouton et choisir Actions de commande pour SurClicDuBouton). Ces actions Aller à la page (deuxième capture d'écran ci-dessous) chargent les pages cibles respectives.
Création de la table éditable Offices
La structure de la table Offices de la BD est affichée dans l'arborescence de données de $DB1 (capture d'écran ci-dessous). Puisque l'attribut @id est la clé primaire, il ne peut pas être modifié. Cela signifie qu'à l'ajout d'un nouvel enregistrement, l'utilisateur final ne peut pas saisir une valeur @id via la solution. La valeur @id doit être générée automatiquement en utilisant une expression XQuery. Celle-ci est insérée à l'aide de la commande de menu de contexte. S'assurer de son existence avant chargement de la page (valeur XPath) :
let $all := $DB1/DB/RowSet/Row/@id
let $ids := remove($all, index-of($all, ""))
let $id := if (empty($ids)) then 1 else max($ids) + 1
return $id
Dans le projet, nous allons procéder comme suit :
Pour... |
Instructions |
Afficher toutes les lignes (Office) |
Ajouter une table répétitive avec la ligne Office en tant qu'élément répétitif |
Inclure les commandes de suppression et d'ajout de lignes |
Lors de l'ajout de la table, activer l'inclusion automatique des commandes Supprimer/Ajouter |
Activer l'édition des valeurs @City |
Ajouter une commande Éditer le champ contenant un nœud de source vers @City |
Réenregistrer les changements dans la BD |
Ajouter une action Enregistrer à l'événement ClicDeBoutonsursoumission de la page action ; De même, cliquer sur le bouton de droite $DB1 et basculer sur Créer OriginalRowSet |
Retourner à la page principale |
Ajouter une action Aller à la page à l'événement SurClicDeBoutonRetour |