DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Comment le faire / Programmation
  • 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
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
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
// Traitement de la ligne sélectionnée
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
// On traite la ligne sélectionnée
FIN

FIN
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale