|
|
|
|
|
- Présentation
- Méthode 1 : Utilisation de la fonction TableSelect
- Exemple
- Méthode 2 : Utilisation de l'instruction POUR TOUT
- Exemple
- Méthode 3 : Utilisation d'une colonne de type Interrupteur
- Exemple de code
Comment gérer une multisélection dans un champ Table ?
Par défaut, il est possible de sélectionner une seule ligne dans un champ Table. Il est cependant possible de paramétrer le champ Table afin qu'il soit en multisélection. Dans ce cas, l'utilisateur peut sélectionner plusieurs lignes et il est possible de récupérer ces lignes par programmation. Dans l'onglet "UI" de la fenêtre de description du champ, il est possible de sélectionner le mode de sélection "Multiple" pour les lignes du champ. La multisélection s'effectue à l'aide des touches standard du clavier Maj, Ctrl, les flèches de déplacement et/ou la souris. Il existe ensuite 3 méthodes pour récupérer les lignes sélectionnées : Méthode 1 : Utilisation de la fonction TableSelect Cette méthode consiste à faire un boucle de parcours et parcourir les lignes à l'aide de la fonction TableSelect. Une variable représentant le rang de la liste sélectionnée va être incrémentée à partir de la valeur 1. - Si la fonction TableSelect renvoie la valeur -1 : il n'y a pas ou plus de lignes sélectionnées.
- Si la fonction TableSelect renvoie une valeur supérieure à 0 : cette valeur représente la position de la ligne sélectionnée dans le champ Table.
Pour récupérer la valeur de l'élément sélectionné, utilisez la syntaxe suivante :
NomChampTable.NomColonne[Indice] Note : Il est possible de connaître le nombre de lignes sélectionnées à l'aide de la fonction TableSelectOccurrence. Il est ainsi possible de faire une boucle avec un POUR et non pas un TANTQUE. Exemple
Rang est un entier
PositionLigne est un entier
ValeurColonne est une chaîne
Rang = 1
PositionLigne = TableSelect(NomChampTable, Rang)
TANTQUE PositionLigne <>-1
ValeurElement = NomChampTable.NomColonne[PositionLigne]
Rang++
PositionLigne = TableSelect(NomChampTable, Rang)
FIN
Méthode 2 : Utilisation de l'instruction POUR TOUT Cette méthode consiste à faire une boucle de parcours des lignes sélectionnées avec une instruction POUR TOUT spécifique. Exemple
POUR TOUT LIGNE SÉLECTIONNÉE DE NomChampTable
FIN
Méthode 3 : Utilisation d'une colonne de type Interrupteur Au lieu d'utiliser le mécanisme de multisélection du champ Table, il est possible d'utiliser une colonne de type Interrupteur (case à cocher) pour gérer la sélection. Cette colonne doit être en saisie dans le champ Table. Dans ce cas : - si la case de l'interrupteur est cochée, la ligne est sélectionnée.
- si la case n'est pas cochée, la ligne n'est pas sélectionnée.
Il suffit de parcourir toutes les lignes du champ Table et vérifier pour chaque ligne si la case est cochée. Exemple de code
Ind est un entier
POUR Ind = 1 À TableOccurrence(NomChampTable)
SI NomChampTable.Col_Interrupteur[Ind] = Vrai ALORS
FIN
FIN
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|