DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Champs, fenêtres et pages / Champs : Types disponibles / Champ Table
  • Evénements gérés par défaut
  • Evénements optionnels
  • Filtrage des enregistrements (Table fichier uniquement)
  • Avant l'affichage de la bulle d'aide automatique de l'ascenseur
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
Evénements gérés par défaut
WINDEVAndroidiPhone/iPadJava WINDEV et WINDEV Mobile gèrent par défaut les événements suivants (ordre d'apparition sous l'éditeur de code) :
EvénementCondition d'exécution
InitialisationExécuté à l'ouverture de la fenêtre. (*)

Cas particulier : Champ Table fichier rempli automatiquement
Lors de l'exécution de ce code, le champ Table n'est pas encore rempli. Il est possible de forcer le remplissage du champ Table dans ce code avec :
Il est également possible de filtrer les enregistrements avec la fonction HFiltre.
Fin d'initialisationCode présent uniquement pour les champs Table fichier remplis automatiquement :

Exécuté après le remplissage du champ Table. Ce code permet par exemple de sélectionner un élément dans le champ Table, d'ajouter ou de modifier un élément.
Entrée dans le champ TableExécuté lorsque le champ prend le focus.
Sortie du champ TableExécuté lors du changement de champ (touche TAB, changement de champ par la souris, ...).
Entrée en saisie d'une ligne du champ TableExécuté lorsque l'utilisateur sélectionne une ligne pour effectuer une saisie dans cette ligne.
Sortie d'une ligne du champ TableExécuté lors du changement de ligne ou lors du changement de champ (touche TAB, changement de champ par la souris, ...) à partir d'une ligne. Le champ Table doit être en saisie.
Dans ce code, la ligne en cours correspond à la ligne précédemment sélectionnée.
Attention :
  • Champ Table avec colonne interrupteur : la seule modification de l'interrupteur n'exécute pas le code de sortie de ligne. En effet, lors d'un clic sur une colonne interrupteur, WINDEV ne considère pas que l'utilisateur est entré en saisie dans la ligne . Les événements "Entrée en saisie d'une ligne" et "Sortie d'une ligne" ne sont pas exécutés. Pour gérer ce cas, il est conseillé d'utiliser le code de modification de la colonne.
  • Champ Table en affichage : ce code n'est pas exécuté au changement de ligne dans un champ Table en affichage.
Java Dans ce code, la ligne courante correspond à la nouvelle ligne sélectionnée.
Affichage d'une ligne du champ TableExécuté lorsque une nouvelle ligne doit être affichée dans le champ Table : ré-affichage du champ Table, scrolling ou déplacement dans le champ Table, ...

Cet événement est également exécuté lors de l'affectation d'une colonne. Si plusieurs colonnes sont affectées par programmation, le code d'affichage sera exécuté plusieurs fois.
Conseil : Si vous devez modifier plusieurs colonnes, utilisez la fonction TableModifieLigne et non l'affectation directe.
iPhone/iPad Cet événement n'est pas disponible dans les champs Table fichier pour des raisons de performances.
Sélection d'une ligne du champ TableExécuté lorsque l'utilisateur sélectionne une ligne (sans saisie).
Cet événement est également exécuté lorsque l'utilisateur clique sur une cellule en mode de sélection "Cellule Sélection simple" ou "Cellule : Sélection multiple".
AndroidiPhone/iPad Rafraîchissement par tirer/relâcher
Cet événement est automatiquement ajouté lorsque la fonctionnalité "Tirer pour rafraîchir" (Pull to Refresh) a été activée (onglet "Détail" de la fenêtre de description du champ Table).
Cet événement est exécuté lors de la détection de la gesture de rafraîchissement sur le champ Table.
A la fin de cet événement, le bandeau de rafraîchissement sera automatiquement masqué sauf si la fonction TableRafraîchissementVisible a été appelée.
WINDEViPhone/iPadJava Filtrage des enregistrements (événement optionnel)
Code présent uniquement pour les champs Table fichier remplis automatiquement :
Exécuté juste avant l'affichage d'une ligne. Cet événement permet de filtrer les enregistrements à afficher dans le champ Table. Cet événement est détaillé à la fin de cette page.
WINDEV Evénements de gestion du Drag and Drop (événements optionnels)
Code présent uniquement pour les champs Table par programmation et les champs Table sur variable :
Ces événements permettent de simplifier la gestion du Drag and Drop programmé. Les événements disponibles sont :
  • Début du glisser/déplacer source.
  • Fin du glisser/déplacer source.
  • Entrée en glisser/déplacer cible.
  • Survol en glisser/déplacer cible.
  • Lâcher en glisser/déplacer cible.
  • Sortie en glisser/déplacer cible.
Remarque : Si un de ces événements contient du code, le Drag and Drop n'est plus automatiquement géré pour le champ Table : il est nécessaire de gérer entièrement par programmation le Drag and Drop dans le champ Table.
Evénements de défilement (événements optionnels)Ces événements permettent de simplifier la gestion du déplacement de l'ascenseur vertical du champ. Les événements disponibles sont :
  • Début de défilement : Exécuté lors début du défilement de l'ascenseur vertical du champ.
  • Pendant le défilement : Exécuté lors du défilement de l'ascenseur vertical du champ.
  • Fin de défilement : Exécuté à la fin du défilement de l'ascenseur vertical du champ.
Remarque : La fonction AscenseurPosition permet de connaître la position de l'ascenseur.

(*) Par défaut, l'événement "Initialisation" de chaque champ est exécuté selon l'ordre de création des différents champs dans la fenêtre. Pour modifier cet ordre d'exécution :
  1. Sous le volet "Fenêtre", dans le groupe "Ordre", cliquez sur "Initialisation".
  2. Dans la fenêtre qui s'affiche, utilisez les flèches situées sur la droite pour modifier l'ordre d'initialisation des champs.
WEBDEV - Code ServeurWEBDEV - Code NavigateurPHP WEBDEV gère par défaut les événements suivants (ordre d'apparition sous l'éditeur de code) :
EvénementCondition d'exécution
Initialisation (Code serveur)Exécuté à l'ouverture de la page.
Cas particulier : Champ Table fichier rempli automatiquement :
Lors de l'exécution de ce code, le champ Table n'est pas encore rempli. Il est possible de forcer le remplissage du champ dans ce code avec :
Il est également possible de filtrer les enregistrements avec la fonction HFiltre.
Fin d'initialisation (Code serveur)Code présent uniquement pour un champ Table fichier rempli automatiquement :
Exécuté après le remplissage du champ Table. Ce code permet par exemple de sélectionner un élément dans le champ Table, d'ajouter ou de modifier un élément.
Sélection d'une ligne (Code serveur)Code exécuté lorsque l'internaute sélectionne une ligne du champ Table.
Sélection d'une ligne (Code navigateur)Champ Table en mode "Serveur + AJAX"
Exécuté lorsque l'utilisateur sélectionne une ligne (sans saisie).
Champ Table en mode "Navigateur"
Exécuté lorsque l'utilisateur sélectionne une ligne (sans saisie)
Affichage d'une ligne (Code serveur)Exécuté lorsque une nouvelle ligne doit être affichée dans le champ Table : ré-affichage du champ Table, scrolling ou déplacement dans le champ Table, ...
Permet de gérer les colonnes calculées.
Affichage d'une ligne (Code navigateur)Champ Table en mode "Navigateur" uniquement
Exécuté lorsque une nouvelle ligne doit être affichée dans le champ Table : ré-affichage du champ Table, scrolling ou déplacement dans le champ Table, ...
Clic de table (Code navigateur)Exécuté lorsque l'internaute sélectionne une ligne.
Sortie d'une ligne (Code serveur)Champ Table en mode "Serveur + AJAX" uniquement
Exécuté lors du changement de ligne ou lors du changement de champ (touche TAB, changement de champ par la souris, ...) à partir d'une ligne
Filtrage des enregistrements (Code serveur)Code présent uniquement pour les champs Table fichier remplis automatiquement :
Exécuté juste avant l'affichage d'une ligne. Cet événement permet de filtrer les enregistrements à afficher dans le champ Table. Cet événement est détaillé à la fin de cette page.
Evénements optionnels
Plusieurs événements optionnels peuvent être gérés. Pour ajouter un événement optionnel :
  1. Sélectionnez le champ voulu.
  2. Affichez la fenêtre de code de ce champ (touche F2).
  3. Cliquez sur le lien "Ajouter d'autres événements à xxx" situé à la fin de la fenêtre de code, après le dernier événement.
  4. La totalité des événements optionnels disponibles pour le champ est affichée.
  5. Cochez l'événement optionnel à ajouter et validez.
    Remarque : Il est possible de sélectionner plusieurs événements optionnels.
  6. L'événement optionnel sélectionné est automatiquement ajouté dans les événements gérés par le champ.
Pour désactiver un événement optionnel, il suffit d'effectuer les mêmes manipulations pour afficher la liste des événements optionnels. Il suffit ensuite de décocher les événements optionnels à supprimer.
Remarque : Si le code désactivé contient du code WLangage, ce code est automatiquement supprimé.
Il est ainsi possible de gérer par exemple :
  • le survol du champ par la souris,
  • le bouton gauche enfoncé, relâché, avec un double-clic,
  • le bouton droit enfoncé, relâché, avec double-clic,
  • la roulette de la souris, ...
Remarque : Selon l'environnement (WINDEV, WEBDEV, WINDEV Mobile) et la plateforme de développement, les événements optionnels disponibles ne sont pas les mêmes.
Filtrage des enregistrements (Table fichier uniquement)
WINDEVWEBDEV - Code ServeurPHP L'événement "Filtrage des enregistrements" est exécuté juste après l'affichage d'une ligne du champ Table. Il est donc exécuté :
  • lors de l'initialisation du champ Table.
  • à chaque nouvel affichage d'une ligne du champ Table.
Cet événement permet de filtrer les enregistrements affichés dans le champ Table.
Pour mettre en place un filtre, l'événement "Filtrage des enregistrements" doit renvoyer une valeur :
  • Vrai pour signifier que l'enregistrement respecte le filtre et qu'il doit être affiché.
  • Faux pour signifier que l'enregistrement ne respecte pas le filtre et qu'il ne doit pas être affiché.
  • Annuler pour arrêter la lecture de la source de données de la table (cas très rare).
Exemple :
// -- Filtrage des enregistrements
// Affiche uniquement les clients dont commandes sont supérieures à 3000 euros
SI Commande.TotalTTC >=3000 ALORS
RENVOYER Vrai
SINON
RENVOYER Faux
FIN
Dans ce code, les données manipulées concernent l'enregistrement en cours de lecture par le champ Table. Ces données proviennent du fichier de données ou de la requête liés au champ Table.
WINDEVWINDEV Mobile Si un filtre automatique est réalisé sur le champ Table (fonction TableActiveFiltre ou filtre activé directement par l'utilisateur), le filtre défini par l'événement "Filtrage des enregistrements" se cumule au filtre automatique.
Remarque : Sous WINDEV et WINDEV Mobile, l'événement "Filtrage des enregistrements" est un événement optionnel. Sous WEBDEV, cet événement est proposé par défaut.
Avant l'affichage de la bulle d'aide automatique de l'ascenseur
WINDEV Sous Windows, la bulle d'aide de l'ascenseur des champs Table est affichée lorsque l'utilisateur clique sur la "cage" de l'ascenseur vertical.
Cette bulle d'aide contient par défaut les informations suivantes :
  • Plage des lignes actuellement affichées dans le champ Table.
  • Nombre de lignes total du champ Table.
  • Information sur l'élément actuellement affiché en première ligne du champ Table dans la colonne triée.
L'événement "Avant l'affichage de la bulle d'aide automatique de l'ascenseur" est exécuté juste avant l'affichage de cette bulle d'aide. Il est ainsi possible par exemple d'afficher un texte spécifique dans la bulle d'aide à l'aide de la propriété Bulle.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
A partir de la 26,
Si le code suivant est présent dans l'event 'Affichage d'une ligne' d'une table, les colonnes cachées par l'utilisateur par le menu 'Sélectionner les colonnes...' réapparaissent.

maTable[iIndice].COL_maColonne.BTN_monBouton..Visible = vrai/faux
Laurent
23 fév. 2022

Dernière modification : 28/06/2023

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