|
|
|
|
|
- Présentation
- Fonctionnement, programmation et synchronisation d'un champ Table sur variable
- Ajout d'un élément
- Modification d'un élément
- Suppression d'un élément
- Manipulation d'un champ Table sur variable dans un code WLangage : valeur mémorisée
- Changer par programmation la variable de base d'un champ Table sur variable
- Limitation
Le champ Table sur variable
Un champ Table sur variable est un champ Table dont les colonnes sont reliées aux éléments d'une variable de type Tableau, aux membres d'une classe ou aux éléments d'une variable de type avancé (variable de type xlsDocument par exemple). Chaque colonne du champ Table peut être par exemple : - Liée à un membre d'une instance de classe,
- Liée à un élément d'un tableau, ...
- Calculée : Si la colonne n'est pas reliée à une variable, c'est une colonne calculée. Pour les colonnes calculées, le contenu de la colonne est re-calculé à chaque affichage de ligne, il n'est pas mémorisé.
Un champ Table sur variable permet de : - Visualiser le contenu d'une variable de type tableau, d'une classe ou d'une variable de type avancé.
- Manipuler une ligne de la table (ajout, suppression, modification, ...).
Attention : la synchronisation entre le champ Table et sa source n'est pas automatique. Selon l'action effectuée, il est nécessaire de reporter l'action sur le champ Table ou sur la source. Fonctionnement, programmation et synchronisation d'un champ Table sur variable Ajout d'un élément - Cas 1. Ajout d'un élément dans la source du champ Table
Pour reporter sur le champ Table un ajout effectué dans la source du champ Table, il est nécessaire d'utiliser la fonction TableAffiche avec la constante taInit. La sélection et le tri réalisés par l'utilisateur sont perdus. - Cas 2. Ajout d'un élément dans le champ Table (Saisie en cascade)
Pour gérer la saisie en cascade, les ajouts doivent être réalisés par programmation dans la source. Il est conseillé de :- Faire les ajouts au fur et à mesure dans le code de sortie de ligne.
- Utiliser la fonction TableAffiche (avec la constante taInit) pour mettre à jour les "liaisons" entre les lignes du champ Table et les éléments de la source.
Modification d'un élément - Cas 1. Modification dans la source du champ Table
Pour reporter sur le champ Table les modifications effectuées sur la source du champ Table, il est nécessaire d'utiliser la fonction TableAffiche. - Cas 2. Modification effectuée dans le champ Table
Si les modifications sont effectuées directement dans le champ Table, le report des modifications est réalisé automatiquement. Si les modifications sont réalisées par programmation dans le champ Table (via les fonctions du WLangage par exemple), il est nécessaire d'utiliser la fonction TableEnregistre pour valider les modifications. Le report des modifications est alors réalisé automatiquement. Attention : Selon les opérations réalisées précédemment, il est possible que le report soit effectué au mauvais endroit si la source et le champ Table ne sont pas en phase : il est nécessaire de maintenir la synchronisation en permanence.
Suppression d'un élément - Cas 1. Suppression d'un élément à partir de son indice dans la source du champ Table
Il faut supprimer manuellement l'élément dans le champ Table et dans la source. La fonction TableCherche permet de retrouver la ligne du champ Table correspondant à l'élément (il est nécessaire que la valeur mémorisée du champ Table corresponde à l'élément de la source). Limitation : Pour les sources de type simple (tableau d'entiers par exemple), il est nécessaire d'utiliser la fonction TableAffiche avec la constante taInit pour mettre à jour les "liaisons" entre les lignes du champ Table et les éléments de la source. La sélection et le tri réalisés par l'utilisateur sont donc perdus. - Cas 2. Suppression d'un élément à partir de son indice dans le champ Table
Il faut supprimer manuellement l'élément dans le champ Table et dans la source. La fonction TableCherche permet de retrouver l'indice dans la source correspondant à l'élément supprimé dans le champ Table. Limitation : Pour les sources de type simple (tableau d'entiers par exemple), il est nécessaire d'utiliser la fonction TableAffiche avec la constante taInit pour mettre à jour les "liaisons" entre les lignes du champ Table et les éléments de la source. La sélection et le tri réalisé par l'utilisateur sont donc perdus.
Manipulation d'un champ Table sur variable dans un code WLangage : valeur mémorisée Lors de la manipulation d'un champ Table sur variable par programmation : - l'utilisation de <Champ Table> dans le code renvoie le contenu de la rubrique mémorisée.
- l'utilisation de <Champ Table> dans une boucle de type POUR TOUTE LIGNE renvoie le contenu de la rubrique mémorisée.
- l'utilisation de <Champ Table> [n] dans le code renvoie le contenu de la rubrique mémorisée.
Changer par programmation la variable de base d'un champ Table sur variable Pour changer par programmation la variable de base d'un champ Table sur variable : - Dans la fenêtre de description du champ Table, le type de remplissage du champ Table doit être "par variable" (onglet "Contenu").
- Par programmation, définissez la valeur des propriétés suivantes pour le champ Table :
- FichierParcouru : cette propriété permet de définir le nom de la source de données de remplissage. Ici, cette propriété correspond à un nom de tableau de structures ou à un nom de tableau de classes.
- RubriqueMémorisée : cette propriété correspond à la valeur retournée en mémoire par le champ Table, lors de la sélection d'une ligne.
- Pour chaque colonne du champ Table, utilisez la propriété LiaisonFichier pour définir le nom du membre de la variable tableau qui alimentera la colonne du champ Table.
- Affichez les données dans le champ Table grâce à la fonction TableAffiche.
Exemple de code : // Déclaration du tableau STContact est une Structure sNom est une chaîne sPrénom est une chaîne sEmail est une chaîne FIN  t_Contact est un tableau de STContact   // Affectation des propriétés de la table TABLE_CONTACT.FichierParcouru = ":t_Contact" TABLE_CONTACT.RubriqueMémorisée = ":t_Contact.sNom"  // Affectation des propriétés des colonnes de la table TABLE_CONTACT.COL_NOM.LiaisonFichier = ":t_Contact.sNom" TABLE_CONTACT.COL_PRENOM.LiaisonFichier = ":t_Contact.sPrénom" TABLE_CONTACT.COL_EMAIL.LiaisonFichier = ":t_Contact.sEmail"  TableAffiche(TABLE_CONTACT) Les champs Table basés sur un tableau de types simples (entiers, chaînes de caractères, …) sont disponibles uniquement en affichage.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|