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 / Table fichier
  • Présentation
  • Sélection, ajout et modification d'une ligne dans un champ Table fichier
  • Suppression d'une ligne dans un champ Table fichier
  • Gestion des colonnes calculées
  • Récupération du contenu d'une ligne, d'une colonne ou d'une cellule
  • Important
  • Valeur d'une cellule de la ligne en cours
  • Valeur d'une cellule pour une ligne spécifique
  • Contenu de la ligne en cours
  • Contenu de la ligne X
  • Contenu des lignes sélectionnées dans le cas d'une multisélection
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
Voici les principaux points de la programmation des champs Table fichier. Le WLangage met à votre disposition de nombreuses fonctions permettant de gérer par programmation les champs Table fichier.
N'hésitez pas à consultez la documentation de ces fonctions. Pour plus de détails, consultez : Liste des fonctions de gestion des champs Table.
Sélection, ajout et modification d'une ligne dans un champ Table fichier
La sélection d'une ligne s'effectue avec la fonction TableSelectPlus.
Si aucune rubrique mémorisée n'est définie pour le champ Table fichier, il est également possible d'utiliser la syntaxe :
<Champ Table> = <Numéro de la ligne à sélectionner>
L'ajout et la modification d'une ligne dans le champ Table fichier (et d'un enregistrement dans le fichier de données) se décompose en deux phases :
  1. Ajout ou modification de l'enregistrement dans le fichier de données (par une fenêtre ou une page de type fiche par exemple).
  2. Réaffichage du champ Table fichier :
    • WINDEV rafraîchissement du champ Table fichier.
Suppression d'une ligne dans un champ Table fichier
Pour supprimer une ligne dans le champ Table fichier, utilisez la fonction TableSupprime. La fonction TableSupprime supprime l'enregistrement correspondant dans le fichier de données. Important : Pour supprimer un enregistrement dans le fichier de données, il ne faut pas utiliser la fonction HSupprime sous peine de perte de données dans le fichier de données.
Gestion des colonnes calculées
La formule de calcul d'une colonne calculée doit être décrite dans l'événement "Affichage d'une ligne" du champ Table.
Exemple de code dans l'événement "Affichage d'une ligne" du champ Table :
// COL_MsgAlerte : une colonne calculée
// La colonne COL_MsgAlerte affiche "Alerte" si COL_Stock<200
SI COL_Stock < 200 ALORS
COL_MsgAlerte = "Alerte"
SINON
COL_MsgAlerte = ""
FIN

Par définition, une colonne calculée n'est pas reliée à une rubrique : la valeur affectée par le code d'affichage d'une ligne n'est pas mémorisée après un défilement des lignes du champ Table via l'ascenseur vertical.
Par exemple, l'instruction "POUR TOUTE LIGNE" ne permettra pas d'affecter ou de récupérer la valeur d'une colonne calculée de toutes les lignes du champ Table fichier.
Si le champ Table est un champ Table fichier "Chargé en mémoire" (option "Chargé en mémoire" cochée dans l'onglet "Contenu" de la fenêtre de description du champ), les colonnes calculées seront mémorisées lors de l'exécution du champ Table.
Récupération du contenu d'une ligne, d'une colonne ou d'une cellule

Important

Le contenu d'une ligne d'un champ Table fichier peut être récupéré :
  • soit en récupérant la ligne entière.
  • soit cellule par cellule.

Valeur d'une cellule de la ligne en cours

La cellule est identifiée par le nom de la colonne. La syntaxe à utiliser est la suivante :
<Valeur> = <Nom de la colonne>
Exemple :
// COL_QTE est une colonne du champ Table
SI COL_QTE < 10 ALORS
Info("Quantité insuffisante")
FIN

Valeur d'une cellule pour une ligne spécifique

La cellule est identifiée par le nom de la colonne. La syntaxe à utiliser est la suivante :
<Valeur> = <Nom de la colonne>[<Indice de la ligne>]
Exemple :
// Totalise le Prix présent dans la colonne COL_PHT
// pour toutes les lignes de commande affichées
PrixTotal = 0
POUR Indice = 1 À TABLE_COMMANDE.Occurrence
PrixTotal = PrixTotal + COL_PHT[Indice]
FIN

Contenu de la ligne en cours

La syntaxe à utiliser est la suivante :
<Valeur> = <Champ Table>
Il est également possible d'utiliser la syntaxe :
<Valeur> = <Champ Table>[<Champ Table>]

Contenu de la ligne X

La syntaxe à utiliser est la suivante :
<Valeur> = <Champ Table>[<Indice de la ligne>]
Remarque : L'indice de la ligne peut être donné par la fonction TableSelect.
// Récupère la ligne en cours du champ TABLE_CLIENT
LigneEnCours = TABLE_CLIENT
 
// Nom du client sélectionné
NomCli = COL_NOM[TableSelect(TABLE_CLIENT)]

Contenu des lignes sélectionnées dans le cas d'une multisélection

La syntaxe à utiliser est la suivante :
<Valeur> = <Champ Table>[<Indice de la ligne>]
Remarque : Pour connaître les indices des lignes sélectionnées, il faut utiliser les fonctions TableSelectOccurrence et TableSelect.
// Trace le contenu des lignes sélectionnées
i est un entier
NbSelectionne est un entier = TableSelectOccurrence(TABLE_Produit)
POUR i = 1 À NbSelectionne
Trace("Ligne sélectionnée : " + ...
TABLE_Produit[TableSelect(TABLE_Produit, i)])
FIN
 
// Equivalent à :
// POUR TOUTE LIGNE SELECTIONNEE DE TABLE_Produit
// Trace("Ligne sélectionnée : " + TABLE_Produit[TableSelect(TABLE_Produit, i)])
// FIN

Note : Les champs Table fichier multisélections ne sont pas disponibles :
  • Si le champ Table contient des ascenseurs proportionnels.
  • Si le champ Table est de type "Compatible 5.5".
  • Dans les champs Table affichés par les combos.
Remarque : La propriété Multisélection permet de connaître le mode de sélection d'un champ Table.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 01/06/2022

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