Lignes dynamiques

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

Accueil >  Objets/fonctions du design > Tables >

Lignes dynamiques

Les lignes dynamiques fonctionnent comme suit :

 

Une ligne dynamique est associée avec un élément répétitif dans 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 occurrence de l'élément répétitif.
Lorsque vous définissez la ligne dynamique, vous pouvez spécifier combien de lignes seront répétées pour chaque occurrences de l'élément. Vous pourriez donc spécifier que chaque groupe de lignes dynamique (ou répétitif) contient deux lignes. Dans ce cas, le groupe de ligne entier de deux lignes est généré pour chaque occurrence d'élément.
Le nœud contextuel pour chaque ligne dynamique (ou groupe de ligne) sera l'occurrences de l'élément spécifique.
Une commande Ajouter/Supprimer peut être ajoutée à la table qui permet aux utilisateurs finaux 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 ligne associé sera ajoutée à l'arborescence de la source de page. Ces modifications peuvent être enregistrées sur la source de données, permettant ainsi aux utilisateurs finaux de modifier la source de données.

 

Une table avec des lignes dynamiques 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. éléments First, Last et Phone). L'élément Person peut se produire plusieurs fois (ses occurrences). Si une ligne dynamique (plus précisément, un groupe de ligne) est associé avec l'élément Person, alors la table sera générée avec autant de (groupe)s de lignes qu'il y a d'éléments Person (voir table ci-dessous). Si le nombre des éléments Person dans la source de page change, alors le nombre de lignes dans la table est modifiée automatiquement.

 

 

<First>

<Last>

<Phone>

<Person>

 

 

 

<Person>

 

 

 

<Person>

 

 

 

 

Le design affiché dans la capture d'écran ci-dessous contient une table avec une seule (groupe de) ligne dynamique. 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 se trouvant dans le groupe de ligne 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. 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 convertir une table répétitive en une table à lignes dynamiques, cliquer avec la touche de droite sur la ligne de table que vous souhaitez convertir en une ligne dynamique, puis sélectionner Table dynamique ou répétitive | Convertir cette ligne en une ligne répétitive .

 

Création d'une table avec des lignes dynamiques

Définir une table avec des lignes dynamiques 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 case Table sera répétitive n'est pas cochée. Ensuite sélectionner Nombre dynamique de lignes. Cela crée une table qui contient un groupe de lignes de table dynamique.

Click to expand/collapse

2.Spécifier 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 un en-tête et 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 ligne (voir la capture d'écran ci-dessous d'une solution simulée).

MTDTableDynamicAppendDeleteCtrls

4.En cliquant sur OK dans le dialogue Nouvelle 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 occurrence de cet élément générera un (groupe) de ligne dans la table. L'occurrence actuelle sera aussi le nœud contextuel des expressions XPath situées dans le groupe de ligne.
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 ligne dynamique (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 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.

 


© 2019 Altova GmbH