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
  • Présentation
  • Etat initial du champ Table
  • Détail des options d'affichage
  • Mode de sélection
  • Options d'affichage des colonnes
  • Gérer le remplissage d'un champ Table par programmation
  • Afficher le détail d'une ligne dans une fenêtre interne
  • Ascenseurs dans un champ Table
  • Options conservées par compatibilité avec les anciennes versions
  • Forcer le titre en mono-ligne
  • Mode de saisie compatible 5.5
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
Le champ Table permet aussi bien d'afficher et/ou de saisir des informations. Ces informations peuvent provenir d'une source de données, d'une variable WLangage ou elles peuvent également être déterminées par programmation.
Cette page d'aide présente les principales caractéristiques pouvant être définies pour un champ Table présent dans une fenêtre :
Il est également possible de définir la source des données affichée dans le champ. Pour plus de détails, consultez Contenu d'un champ Table.
Etat initial du champ Table
L'état initial d'un champ Table peut être :
Etat initial d'un champ Table
Cet état initial est défini lors de la création du champ et peut être modifié à tout moment dans l'onglet "UI" de la fenêtre de description du champ Table.
Les différentes possibilités sont les suivantes :
  • Visible : Le champ Table sera visible ou non. Cette option peut être modifiée en programmation grâce à la propriété Visible.
  • En saisie : L'utilisateur pourra saisir dans les différentes colonnes du champ si ces colonnes sont en saisie.
  • Sélection (sans saisie) : L'utilisateur ne pourra pas saisir dans les colonnes du champ. Il sera possible de sélectionner une ligne du champ :
    • soit en cliquant sur cette ligne.
    • soit en utilisant la fonction TableSelectPlus.
      La ligne sera sélectionnée grâce au bandeau de sélection.
      Remarque : La valeur du champ Table correspond à la ligne sélectionnée. A chaque sélection, le code de sélection de ligne est exécuté.
  • Ni saisie, ni sélection : L'utilisateur ne pourra pas saisir dans les colonnes du champ. Il sera possible de sélectionner une ligne du champ uniquement par programmation grâce à la fonction TableSelectPlus. Cette ligne sera sélectionnée grâce au bandeau de sélection. L'utilisateur ne pourra pas modifier la position du bandeau de sélection.
    Remarque : La valeur du champ Table correspond à la ligne sélectionnée.
    Conseil : Cette option est conseillée lorsqu'il est nécessaire de mettre en valeur une ligne grâce au bandeau de sélection.
  • Grisé : Le champ Table et ses colonnes seront grisés. L'utilisateur ne pourra pas saisir d'informations dans le champ.
Détail des options d'affichage

Mode de sélection

Les modes de sélection déterminent comment les différents éléments d'un champ Table (ligne, colonne, cellule) pourront être sélectionnés aussi bien par l'utilisateur que par programmation. Ce mode de sélection est défini lors de la création du champ. Il peut être modifié à tout moment dans l'onglet "UI" de la fenêtre de description du champ Table.
Les modes de sélection disponibles sont les suivants :
Modes de sélection
  • Sans sélection : Le bandeau de sélection ne sera pas affiché, cependant la ligne, la colonne ou la cellule sélectionnée aura le focus (elle sera entourée de pointillés). Il sera possible de sélectionner une ligne, une colonne ou une cellule par un clic sur cet élément ou par programmation.
  • Sélection simple : La ligne, la colonne ou la cellule sélectionnée apparaîtra sous le bandeau de sélection. Il sera possible de sélectionner une ligne, une colonne ou une cellule par un clic sur cet élément ou par programmation.
  • Sélection multiple : Il est possible de sélectionner simultanément plusieurs lignes, colonnes ou cellules du champ Table :
    • grâce à la touche Maj si les lignes, colonnes ou cellules se suivent, et à la touche Ctrl pour si les éléments ne se suivent pas.
    • par programmation.
      Dans ce cas, il y aura autant de bandeaux de sélection que d'éléments sélectionnés.
Remarques :
  • Si vous tentez de réaliser une sélection multiple par programmation alors que le mode de sélection est "Sélection simple", une erreur du WLangage sera affichée.
  • Lors d'une sélection multiple par cellule, pour sélectionner une ligne, il est nécessaire de sélectionner toutes les cellules de la ligne. Pour simplifier cette opération, il est possible d'afficher un sélecteur de ligne (onglet "Style", élément "Sélecteur de ligne", option "Sélecteur" correspondant à "Flèche à gauche").
La récupération des éléments sélectionnés se fera :
  • avec la fonction TableSelect. Les constantes tsLigne, tsColonne, tsLigneCellule et tsColonneCellule permettent de récupérer respectivement les informations sur les lignes, les colonnes et les cellules sélectionnées.
  • avec la fonction TableSelectOccurrence. Les constantes tsLigne, tsColonne et tsCellule permettent de récupérer respectivement le nombre de lignes, colonnes et cellules sélectionnées.
Exemple : L'exemple suivant permet de récupérer le numéro de la ligne et celui de la colonne des cellules sélectionnées dans le champ Table.
// Récupération du nombre de cellules sélectionnées
NbSelectionne est un entier
NbSelectionne = TableSelectOccurrence(TABLE_StatsFiliales, tsCellule)
// Parcours des cellules sélectionnées
POUR i = 1 _À_ NbSelectionne
// Récupération de la ligne et de la colonne
nLigne = TableSelect(TABLE_StatsFiliales, i, tsLigneCellule)
nColonne = TableSelect(TABLE_StatsFiliales, i, tsColonneCellule)
// Traitement
...
FIN

Java Seul le mode de sélection des lignes est disponible.

Options d'affichage des colonnes

De nombreuses options sont disponibles pour paramétrer l'affichage des colonnes. Ces options sont disponibles dans l'onglet "Détail" de la fenêtre de description du champ Table.
Options d'affichage des colonnes
Ces options sont les suivantes :
  • Mémoriser la config. des colonnes : Cette option permet de mémoriser la configuration des colonnes (taille, ordre, etc.) à la fermeture de la fenêtre ou de l'application.
  • Menu 'Sélectionner les colonnes...' : Cette option permet d'afficher un menu contextuel afin que l'utilisateur puisse sélectionner les colonnes à afficher ou a masquer dans le champ Table.
  • Colonnes texte multilignes : Cette option permet de rendre les colonnes de texte multilignes. Ainsi, le texte est entièrement affiché dans la cellule s'il ne peut pas entrer dans la colonne.
  • Nb. max. de lignes affichées dans une ligne : Dans la ligne d'un champ Table, il est possible d'afficher plusieurs lignes. Cette option permet de fixer le nombre de lignes affichées (évite par exemple d'avoir une cellule qui comporte 20 lignes, et qui augmente ainsi de manière démesurée la hauteur de la ligne).
  • Nombre de colonnes fixées à gauche : Cette option permet d'indiquer le nombre de colonnes fixées à gauche. Ces colonnes seront "collées" au côté gauche du champ et ne pourront pas être déplacées. L'ascenseur horizontal du champ ne permettra pas de déplacer ces colonnes.
    L'utilisateur peut également fixer ou "défixer" les colonnes via le curseur "Verrou" ou via l'option "Colonne fixée" du menu contextuel du titre de la colonne. Pour plus de détails, consultez Fixer les colonnes des champs Table.
    Il est également possible de fixer une colonne par programmation grâce à la fonction TableFixeColonne.
  • WINDEV Angle du titre des colonnes : Pour les colonnes ayant un titre important et un contenu de taille réduite, il est possible de réduire la taille des colonnes en inclinant le titre des colonnes (ou par exemple en le passant directement à la verticale). Il suffit d'indiquer l'angle voulu dans l'onglet "Détail" de la description du champ Table. Cette option est modifiable par programmation grâce à la propriété AngleTitre.
  • WINDEV Éditer les sur-entêtes de colonnes : Il est possible de définir des sur-entêtes de colonnes. Un sur-entête de colonnes est un titre supplémentaire affiché au-dessus du titre d'une ou plusieurs colonnes. Pour plus de détails, consultez Gestion des titres des colonnes dans un champ Table.
Remarque : Par défaut, les titres des colonnes sont multilignes. La hauteur de l'entête est automatiquement ajustée au nombre de lignes. Les titres de colonnes supportent le RTF.
Windows
Gérer le remplissage d'un champ Table par programmation
Pendant le remplissage d'un champ Table par programmation, il est possible d'afficher des informations spécifiques :
  • Jauge de progression,
  • Fenêtre d'information, ...
Pour afficher une information pendant le remplissage d'un champ Table/Table hiérarchique par programmation :
  1. Affichez la fenêtre de description du champ Table ou Table hiérarchique.
  2. Dans l'onglet "UI" de la fenêtre de description du champ, cochez l'option "Afficher une Fenêtre interne par dessus les lignes".
  3. Spécifiez si nécessaire la fenêtre interne à utiliser. Il est possible de :
    • utiliser la fenêtre proposée par défaut par WINDEV (option "Aucune").
    • importer dans le projet la fenêtre prédéfinie proposée par WINDEV pour la personnaliser (option "Fenêtre prédéfinie").
      Si cette option est sélectionnée, le composant interne WDFAA est immédiatement ajouté dans le projet en cours. La fenêtre interne "FI_EtatChargementTable" est automatiquement associée à l'option "Afficher une Fenêtre interne par dessus les lignes".
      Remarque : Si le composant WDFAA existe déjà, seule la fenêtre est ajoutée au composant.
  4. Validez si nécessaire la fenêtre de description du champ.
  5. Pour activer ce mécanisme, utilisez les fonctions TableDébutRemplissage et TableFinRemplissage pour entourer le code de remplissage du champ Table.
Remarques :
  • Par défaut, le message "Aucune donnée disponible" est affiché dans le champ Table vide. Lors du remplissage, une jauge infinie est affichée en bas du champ Table.
  • La fenêtre interne proposée par défaut contient 3 plans :
    • Plan 1 contenant une jauge infinie.
    • Plan 2 contenant le libellé affiché si le champ Table est vide. Le libellé affiché par défaut est "Aucune donnée disponible".
    • Plan 3 contenant le libellé affiché avant l'appel de la fonction TableDébutRemplissage.
  • La fenêtre interne "FI_EtatChargementTable" est également utilisée pour gérer le remplissage des champs Zone répétée par programmation.
Windows
Afficher le détail d'une ligne dans une fenêtre interne
Une ligne de table affiche un certain nombre d'information dans ses différentes colonnes. Mais pour obtenir une interface plus lisible, pourquoi ne pas afficher ces informations dans une fenêtre popup ?
Pour afficher une fenêtre correspondant au détail d'une ligne d'un champ Table/Table hiérarchique :
  1. Affichez la fenêtre de description du champ Table ou Table hiérarchique.
  2. Dans l'onglet "UI" de la fenêtre de description du champ, dans la zone "Fenêtre interne de détails d'une ligne", indiquez :
    • la fenêtre interne à utiliser pour afficher le détail d'une ligne. Cette fenêtre interne est une fenêtre interne de votre projet.
    • le retrait gauche de la fenêtre interne (par rapport au champ).
    • si la fenêtre interne doit être affichée également lors du survol de la ligne. Dans ce cas, la fenêtre interne sera affichée après 1 seconde de survol.
  3. Validez la fenêtre de description.
  4. Un signe "+" apparaît dans la première colonne du champ Table/Table hiérarchique.
En exécution :
  • Un signe "+" / "-" permet à l'utilisateur de afficher/refermer le détail de la ligne. Il est possible de personnaliser cet élément via le style de la table (onglet "Style", élément "Image +/- FI de détails de ligne").
  • La ligne est agrandie en hauteur pour afficher la fenêtre interne. La fenêtre interne est affichée en dessous des données de la ligne.
Caractéristiques de la fenêtre interne :
  • Pour obtenir des informations sur le champ Table/Table hiérarchique affichant le détail, la fenêtre interne utilisée doit utiliser le prototype suivant :
    PROCEDURE <Nom de la fenêtre interne>(<Table parente>, <Numéro de la ligne>)
    où :
    • Table parente : correspond au nom du champ Table ou Table hiérarchique qui a affiché la fenêtre interne.
    • Numéro de la ligne : correspond au numéro de la ligne qui a affiché la fenêtre interne.
    Ces paramètres sont renseignés automatiquement lors de l'exécution.
  • La fenêtre interne peut contenir tout type de champs (y compris un champ Table).
  • La fenêtre interne peut permettre de modifier les informations affichées dans le champ Table. Dans ce cas, il est possible d'utiliser un bouton dans la fenêtre interne permettant de valider les données modifies. Le code de ce bouton peut être :
    EcranVersFichier()
    HEnregistre()
    TableAffiche(NomTable,taCourantBandeau)
    TableEnroule(NomTable)
  • Dans la fenêtre interne, il est possible d'accéder aux champs de la table parente. Par exemple, pour accéder à un champ présent dans une colonne conteneur :
    gCTable[gnNumLigne].BTN_Modifier.Etat = Grisé
  • Les champs de la fenêtre interne peuvent être ancrés : le redimensionnement de la table en largeur, ou le redimensionnement de la ligne en cours en hauteur agit sur ces ancrages.
  • Les libellés des champs dans la fenêtre interne peuvent avoir la couleur "Texte" pour adapter la couleur de ces libellés en sélection de ligne.
Remarques :
  • Pour afficher/refermer la fenêtre interne par programmation, utilisez les fonctions TableDéroule/TableEnroule.
  • La hauteur de la ligne affichant la fenêtre interne correspond à la hauteur initiale de la ligne plus celle de la fenêtre interne en édition (propriété HauteurInitiale).
  • L'image de fond définie pour la ligne est agrandie pour correspondre à la taille de la ligne déroulée.
  • Diverses propriétés permettent de manipuler les caractéristiques de la fenêtre interne par programmation :
    FenêtreDétailLigneLa propriété FenêtreDétailLigne permet de connaître et de modifier le nom de la fenêtre interne utilisée pour afficher les détails d'une ligne d'un champ Table.
    RetraitDétailLigneLa propriété RetraitDétailLigne permet de connaître ou de modifier la valeur du retrait à gauche de la fenêtre interne utilisée pour afficher les détails d'une ligne d'un champ Table.
  • Cas particuliers
    • Cette fonctionnalité n'est pas disponible sur les champs Table horizontale.
    • L'interface de la fenêtre interne ne peut pas être modifiées par l'utilisateur final.
Ascenseurs dans un champ Table
WindowsLinux Par défaut, les ascenseurs des champs Table (fichier, par programmation ou sur variable) sont proportionnels. La taille de l'ascenseur est proportionnelle au nombre d'éléments à afficher.
Attention : si un filtre est utilisé avec un ascenseur proportionnel, le parcours de la source de données est réalisé en tâche de fond. Le code de fin d'initialisation sera exécuté uniquement lorsque le parcours sera terminé. Selon la source de données à parcourir, ce traitement peut être exécuté relativement longtemps après l'ouverture de la fenêtre.
Les options concernant l'ascenseur sont regroupées dans l'onglet "Détail" de la description du champ Table :
Paramètres de l'ascenseur d'un champ Table
L'option "Déplacement au pixel" permet un déplacement fluide des lignes : au lieu de "sauter" d'une ligne à l'autre, le déplacement est réalisé pixel par pixel : une ligne "multiligne" d'un champ Table peut être tronquée si nécessaire à l'affichage.
Remarque : La désactivation de l'ascenseur proportionnel désactive la multisélection des lignes.
Windows L'option "Déplacement au doigt" permet d'indiquer que le champ Table accepte le scrolling au doigt (si le périphérique d'affichage est tactile). Cette option est activée par défaut en WINDEV Mobile sur les nouveaux champs Table créés. Elle est désactivée par défaut en WINDEV.
Options conservées par compatibilité avec les anciennes versions

Forcer le titre en mono-ligne

Par défaut, le titre des colonnes d'un champ Table est multiligne. L'option "Forcer le titre en monoligne (8)" permet de retrouver le comportement par défaut de la version 8.
Sur les champs Table créés avec la version 8 (ou précédente), cette option doit être décochée pour obtenir un titre de colonnes multiligne.
WINDEV

Mode de saisie compatible 5.5

Ce mode permet de retrouver le mode d'utilisation des champs Table en version 5.5. Si le champ Table provient d'une application WINDEV 5.5 migrée, cette option est automatiquement cochée. Cette option est disponible dans l'onglet "Détail" de la description du champ Table.
Cette option ne doit pas être utilisée pour les champs Table créés avec les versions 7 et supérieures de WINDEV.
Si vous décochez cette option, toutes les fonctionnalités des champs Table seront accessibles. Pour retrouver le fonctionnement des champs Table en WINDEV 5.5, il sera nécessaire d'adapter le code du champ.
Si vous cochez cette option, deux types de champs Table sont disponibles :
  • soit champ Table en saisie sans sélection.
  • soit champ Table avec sélection et sans saisie (si aucune colonne n'est en saisie ou si le champ Table est en sélection sans saisie).
Rappel : en version 5.5, si le champ Table était défini :
  • "en saisie" et si une colonne au moins du champ était en saisie, le bandeau de sélection n'était pas affiché et il était possible de saisir dans le champ Table.
  • "en saisie" (ou "inactive") et sans aucune colonne en saisie, l'utilisateur ne pouvait effectuer aucune saisie dans le champ Table mais il pouvait modifier la position du bandeau de sélection.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 23/06/2022

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