Sous-page : Propriété Visibilité
La table Orders que nous avons créée dans la sous-page Orders est une table dynamique qui génère une ligne pour chaque élément Order (ou enregistrement) dans la source de page Orders.xml. Les éléments Order sont présentés dans l'ordre dans lequel ils apparaissent dans le fichier de données. Mais nous pouvons contrôler quels éléments d'Order sont affichés. Pour ce faire, utilisez la propriété Visible du groupe de Ligne de table. La propriété prend une expression XPath qui sélectionne les éléments Order à afficher
Pour configurer l'expression XPath de la propriété Visible, sélectionnez la ligne répétitive dans le design et, dans le panneau Styles & Propriétés, rendez-vous aux propriétés du Groupe de ligne de table et cliquez sur l'icône XPath de la propriété Visible. Dans le dialogue Éditer l'expression XPath/XQuery qui apparaît, saisissez l'expression XPath suivante :
if (\$XML1/Root/CustomerCode!='All') then CustomerCode=\$XML1/Root/CustomerCode else CustomerCode
Cette expression XPath fonctionne comme suit :
1.La clause if de l'expression teste si l'élément \$XML1/Root/CustomerCode contient le string All.
2.Si l'élément \$XML1/Root/CustomerCode ne contient pas le string All, tous les éléments Order dont le contenu d'élément CustomerCode est égal au contenu de l'élément \$XML1/Root/CustomerCode seront sélectionnés. En conséquence ceux-ci seront les éléments Order du client qui a été sélectionné par l'utilisateur final. Ne pas oublier que le CustomerCode du client a été stocké dans la source de page \$XML1 (voir Page supérieure : Groupe d'action, Aller à la sous-page).
3.Si l'élément \$XML1/Root/CustomerCode contient le string All, tous les éléments Order qui ont un élément CustomerCode enfant seront sélectionnés. En conséquence, cela sélectionnera tous les éléments Order dans le fichier de données.
Note : | L'avantage d'utiliser la propriété Visible est qu'il s'agit là d'une alternative simple et efficace de génération d'une table contenant uniquement des éléments sélectionnés. |