Tables répétitives

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

Accueil >  Objets/fonctions du design > Tables >

Tables répétitives

Les tables répétitives fonctionnent comme suit :

 

Un élément répétitif dans la source de page est associée à la table répétitive (voir exemples ci-dessous).
La table peut être conçue pour contenir autant de lignes et de colonnes que vous le souhaitez.
Pour chaque occurrence de l'élément répétitif, la table que vous concevez sera répétée. Donc, si le design de table contient deux lignes, alors une table contenant deux lignes sera créée pour chaque occurrence de l'élément répétitif.
Le contenu de la table peut être dynamique. Les expressions XPath se trouvant dans la table auront l'élément répétitif associé en tant que son nœud de contexte. Pour chaque occurrence de l'élément, l'occurrence spécifique sera le nœud contextuel pour cette table spécifique (voir exemples ci-dessous).
Une commande Ajouter/Supprimer peut être ajoutée à la table qui permet ainsi à l'utilisateur final d'ajouter de nouvelles lignes et de supprimer des lignes individuelles. Par exemple, si l'utilisateur ajoute une ligne, une nouvelle occurrence de l'élément de table associé sera ajoutée à l'arborescence de la source de page. Ces modifications peuvent être enregistrées dans la source de données, permettant ainsi à l'utilisateur final de modifier la source de données.

 

Une table répétitive est définie au moment où la Commande de table est déposée dans le design.

 

Exemple

Un élément Person dans la source de page contient, par exemple, les éléments enfants First, Last et Phone. L'élément Person peut se produire plusieurs fois (ses instances). Nous souhaitons créer une table de ce type :

 

 

<First>

<Last>

<Phone>

<Person>

 

 

 

<Person>

 

 

 

<Person>

 

 

 

 

Puisque l'élément Person se répète, nous pouvons créer une table répétitive associée avec l'élément Person et spécifier, dans le dialogue Nouvelle Table (voir ci-dessous), que la table a uniquement une ligne et quatre colonnes. Dans cette table, le nœud contextuel est Person. Dans chaque colonne, nous établissons des liens de source de page vers les nœuds enfants respectifs (voir capture d'écran ci-dessous). La première colonne contient une expression XPath pour numéroter l'élément Person actuelle, par exemple : count(preceding-sibling::*)+1. Le design pourrait ressembler à :

MTDTablesDynamicRowsDes01

La table générée pourrait ressembler à :

MTDTablesDynamicRowsSim01

Note :Un flux de données peut être généré depuis une expression XPath/XQuery et peut être utilisé en tant que source de données. Néanmoins, ce type de données est créé pour l'utilisation actuelle uniquement et n'est pas accessible en tant que source de page pour être utilisé à un autre endroit du document.

 

Différence entre une table répétitive et une table à lignes dynamiques

Une table répétitive est différente d'une table à lignes dynamiques :

 

Dans une table répétitive, c'est toute la table qui est associée avec la structure de données répétitive. Une nouvelle table est générée pour chaque occurrence
Dans une table à lignes dynamiques, un groupe de ligne de table est associé avec la structure répétitive.

 

Cette différence entraîne deux effets de design :

 

Une table à lignes dynamiques peut avoir un en-tête et/ou un pied de page qui s'applique à toute la table. Il s'agit d'un en-tête et/ou un pied de page pour la table. Si un en-tête et/ou un pied de page sont nécessaires pour une table répétitive, ils peuvent être rajoutés manuellement en dehors de la table répétitive. S'ils sont ajoutés à l'intérieur de la table répétitive, Alors ils seront répétés avec chaque table pour chaque occurrence d'élément.
Puisque les tables sont généralement rendues avec un espace au-dessus et en-dessous d'eux dans les écrans d'appareil, les tables répétitives contiendront un espace vertical entre chaque paire de tables répétitives.

 

Pour transformer une table statique en une table répétitive après que la table ait été créée, il faut changer sa Propriété répétitive à vrai, puis associer la table avec un élément répétitif depuis une source de page.

 

Créer une table répétitive

Définir une table répétitive comme suit :

 

1.Dans le dialogue Nouvelle table qui apparaît lorsque la commande Table est déposée dans le design (capture d'écran ci-dessous), cocher la case Table sera répétitive pour rendre la table répétitive. Veuillez noter que c'est la table qui se répète pour chaque instance d'une ligne de table répétitive.

Click to expand/collapse

2.Spécifier le nombre de colonnes et de lignes statiques que la table comportera. Vous pouvez ensuite ajouter les colonnes et les lignes à la table répétitive avec le menu contextuel de la table.
3.Spécifier si vous souhaitez ajouter des commandes automatiques Ajouter/Supprimer. En cas d'ajout, chaque table répétitive dans la solution, en fait une ligne, aura un bouton Supprimer et toute la structure de la table répétitive aura un bouton Ajouter pour ajouter une table répétitive (ligne) à la structure (voir la capture d'écran ci-dessous d'une solution simulée).

MTDDBCSimulator01Cropped

4.En cliquant sur OK dans le dialogue Nouvelle table, la table est ajoutée au design. La table répétitive doit maintenant être associée avec l'élément répétitif provenant de la source de page (voir capture d'écran ci-dessous).

MTDTablesDynamic01

5.Associer un élément répétitif avec la table répétitive en glissant/déposant l'élément depuis le Volet de sources de page dans la table.
6.Vous pouvez maintenant ajouter du contenu aux cellules de la table. Le nœud contextuel pour les expressions XPath contenues dans les cellules de table est le nœud d'élément qui est associé avec la table répétitive (voir étape précédente). Pour utiliser le nœud contextuel, les expressions XPath dans les cellules de table doivent être relatives au nœud contextuel. Le contenu de cellule peut être une table emboîtée (statique ou dynamique) ou une commande de page (avec ou sans un lien vers un nœud de source de page), ou même des nœuds de source de page. Lorsqu'un nœud de source de page est déposé dans une cellule, les données contenues dans cette cellule seront éditables. Dans la capture d'écran ci-dessous, quatre commandes ont été ajoutées (de la gauche à la droite) : libellé, champ édition, libellé et champ édition.

MTDDBCTableRepeating02
 
Cette table répétitive produit la structure répétitive suivante dans la solution MobileTogether.
 
MTDDBCSimulator01Cropped

Des commandes de restructuration de la table sont disponibles dans le menu contextuel de la table. Les propriétés de formatage de la table sont disponibles dans le Volet Styles & Propriétés. Voir aussi Lignes dynamiques et Colonnes dynamiques.

 


© 2019 Altova GmbH