Altova MobileTogether Designer

Table dynamique avec lignes répétitives

Accueil Préc Haut Suivant

Une table dynamique avec lignes répétitives fonctionne comme suit :

 

Une ligne répétitive est associée à un élément répétitif d’une source de page.

Lorsque la table est rendue, le nombre de lignes contenu correspondra dynamiquement au nombre d'occurrences de l'élément répétitif. Chaque ligne de table correspondra à une instance de l'élément répétitif.

Lorsque vous définissez une table avec des lignes répétitives, vous pouvez spécifier combien de lignes seront répétées pour chaque occurrences de l'élément. Par exemple, vous pourriez donc spécifier que chaque groupe de lignes dynamique contient deux lignes. Dans ce cas, deux lignes sont générées pour chaque instance de l’élément répétitif. Puisque l’unité de table qui correspond à l’élément des données répétitif peut contenir plus d’une ligne, nous faisons référence à cette unité comme groupe de lignes de table. Donc, plus précisément, il s’agit du groupe de lignes qui se répète.

Le nœud contextuel de chaque groupe de lignes répétitif sera l’instance spécifique de l’élément répétitif dans la source de données.

Un contrôle Ajouter/Supprimer peut être ajouté à la table. Ceci permet aux utilisateurs finaux d’ajouter un nouveau groupe de lignes et de supprimer les groupes de lignes individuels. Chaque ajout/suppression correspondra à une instance de l'élément de données répétitif. L’utilisateur final peut enregistrer les modifications de retour à la source de données.

Vous pouvez mixer les lignes statiques et répétitives. Par conséquent, une ligne statique peut être placée entre deux groupes de lignes répétitives.

Pour chaque table avec des lignes répétitives, vous pouvez ajouter une en-tête ou un bas de page via les commandes du menu contextuel. Dans ce cas, la table entière aurait une en-tête ou un bas de page, et les groupes de lignes répétitives seraient générés au sein du corps de la table.

Si une table avec des lignes répétitives contient une en-tête ou un bas de page, vous pouvez convertir le groupe entier de composants dans une table par le biais du menu contextuel. Dans ce cas, tous les composants de la table répétitive seront répétés pour chaque instance de l’élément de données répétitif.

Une table dynamique peut contenir plus d’un groupe de lignes de table.

 

Une table dynamique avec des lignes répétitives 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 une structure répétitive (par ex., les éléments First, Last, et Phone). L’élément Person peut apparaître de multiples fois (ses occurrences). Si un groupe de lignes de table est associé à l’élément Person, alors la table sera générée avec autant de groupes de lignes de table qu’il y a d’éléments Person (voir la table ci-dessous). Si le nombre d’éléments Person dans la source de page change, alors le nombre de lignes dans la table change automatiquement.

 

 

<First>

<Last>

<Phone>

<Person>

 

 

 

<Person>

 

 

 

<Person>

 

 

 

 

Le design affiché dans la capture d'écran ci-dessous contient une table avec un seul groupe de lignes de tables répétitives. Le groupe de ligne est associé avec l'élément Person et il consiste en une ligne et quatre colonnes.

MTDTablesDynamicRowsDes02

Pour chaque occurrence de l'élément associé au groupe de lignes, le groupe de lignes entier est généré. Les expressions XPath à l’intérieur du groupe de lignes sont sont résolues avec l'occurrence actuelle de l'élément associé en tant que le nœud contextuel.

 

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. Toutefois, si une en-tête et/ou un pied de page sont nécessaires pour une table répétitive, ils peuvent être rajoutés en dehors de la table répétitive. Si ajouté à l’intérieur, alors l’en-tête/le pied de page se répétera avec chaque répétition de la table.

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 convertir une table répétitive en une table à lignes dynamiques, cliquez avec la touche de droite sur la ligne de table que vous souhaitez convertir en une ligne dynamique, puis sélectionnez Table dynamique ou répétitive | Convertir cette ligne en une ligne répétitive. Vous pouvez ajouter une ligne d'en-tête ou de pied de page dans une ligne répétitive par le biais de la commande du menu contextuel Table dynamique ou répétitive

 

Créer une table avec des lignes répétitives

Définir une table avec des lignes répétitives comme suit :

 

1.Dans le dialogue Nouvelle table qui apparaît lorsque la commande est déposée (capture d’écran ci-dessous), assurez-vous que la Table sera répétitive n’est pas cochée. Puis, sélectionnez un nombre dynamique de lignes. Cela crée une table qui contient un groupe de lignes de table répétitive.

MTDTableDynamic01

2.Spécifiez le nombre de colonnes que la table comportera et le nombre de lignes que le groupe de ligne aura (le total des lignes constitue le groupe de lignes). Vous pouvez aussi préciser que la table aura une en-tête et/ou un pied de page.

3.Spécifier si vous souhaitez ajouter des commandes automatiques Ajouter/Supprimer. En cas d'ajout, chaque ligne répétitive dans la solution aura un bouton Supprimer et la table aura un bouton Ajouter pour ajouter un groupe de lignes (voir la capture d’écran de la solution simulée ci-dessous).

MTDTableDynamicAppendDeleteCtrls

4.En cliquant sur OK dans le nouveau dialogue de table, la table est ajoutée au design.

5.Le groupe de lignes doit maintenant être associé avec l'élément répétitif provenant de la source de page.  Pour associer le groupe de ligne avec un élément répétitif, glisser/déposer l'élément depuis le Volet de sources de page dans la table. Chaque instance de cet élément générera un groupe de lignes 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 le groupe de lignes dynamique (voir étape précédente). Le contenu de la cellule peut être une table (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.

MTDTableDynamic02
 
Cette ligne dynamique produit la structure suivante dans la solution MobileTogether.
 
MTDTableDynamicAppendDeleteCtrls

Pour plus d'informations concernant l'étendue des colonnes dynamiques, voir la section Fusion et couverture des lignes/colonnes.

 

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 Tables répétitives et Colonnes dynamiques.

 

Ajouter des groupes de lignes de table supplémentaires

Vous pouvez utiliser tout mécanisme de construction de table disponible pour ajouter des groupes de lignes de table supplémentaires. Par exemple, vous pouvez ajouter une ligne statique et convertir ceci en un groupe de lignes de table, ou alors vous pouvez ajouter une table avec des lignes répétitives.

 

© 2018-2024 Altova GmbH