Structure de Design
Le fichier de design contient une page supérieure (nommée Customers (Clients)) et une sous-page (nommée Orders (Commandes)). La page supérieure (Customers, première capture d'écran ci-dessous) affiche tous les clients actuellement stockés dans la base de données. Si l'utilisateur final clique sur un détail de client dans la page supérieure, une sous-page (la page Orders, deuxième capture d'écran ci-dessous) s'ouvre. Cette page affiche les commandes actuelles passées par ce client. La page supérieure peut également afficher, sur la sous-page, toutes les commandes actuelles dans la base de données, c'est à dire, les commandes de tous les clients.
Le mécanisme-clé de ce design est l'affichage (dans la sous-page) des commandes d'un seul des clients sélectionnés dans la page supérieure. Cela s'effectue au moyen de la propriété Visible d'une table qui affiche toutes les commandes actuelles. La propriété spécifie quels éléments devraient être visibles et fonctionne donc comme un filtre d'affichage. Nous allons spécifier, par le biais d'une expression XPath, que seules les commandes du client sélectionné seront visibles. Cette table filtrée est une alternative simple et efficace pour créer une table spécifique au client qui ne contient que les commandes du client sélectionné.
Étapes de design
Le design sera construit comme décrit ci-dessous. (Les captures d'écran montrent les simulations du design terminé.)
Page supérieure : Customers
•Créer la page supérieure et les deux sources de page : $XML1 et $CUSTOMERS
•Créer une table dynamique pour contenir les données client provenant de $CUSTOMERS. Chaque ligne de la table correspondra à un client dans la source de page XML $CUSTOMERS
•Créer une sous-page nommée Orders
•Créer un groupe d'action qui effectue les tâches suivantes : (i) mettre à jour les nœuds dans $XML1 avec des données concernant le nœud client que l'utilisateur clique ; (ii) aller à la sous-page nommée Orders
•Attribuer le groupe d'action à chaque libellé qui contient les données client. En conséquence, lorsque certaines données client sont cliquées, le groupe d'action est exécuté
•Créer un libellé pour montrer toutes les commandes. Contrairement aux autres actions Aller à la sous-page qui montrent les commandes d'un seul client sélectionné, l'action de ce libellé montre toutes les commandes
Sous-page : Commandes
•Créer les trois sources de page pour la sous-page : $XML1 (partagée avec la page supérieure), $CUSTOMERS (partagée avec la page supérieure), et $ORDERS
•Créer une table dynamique pour afficher les détails de commande dans le fichier de données (Les captures d'écran montrent les tables de commande (i) d'un client sélectionné et (ii) de tous les clients). Chaque ligne de la table correspondra à une commande dans la source de page XML $ORDERS
•Configurer la propriété de visibilité du groupe de ligne répétitif de la table pour afficher (i) uniquement le client sélectionné sur la page supérieure, ou (ii) tous les clients
•Créer une expression XPath pour générer la somme totale de (i) toutes les commandes du client sélectionné, ou (ii) de toutes les commandes actuelles