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 <Table>.SelectPlus.
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 :
    • WEBDEV - Code Serveur réactualisation de la page.
Suppression d'une ligne dans un champ Table fichier
Pour supprimer une ligne dans le champ Table fichier, utilisez la fonction <Table>.Supprime. La fonction <Table>.Supprime supprime l'enregistrement correspondant dans le fichier de données.
WEBDEV - Code Serveur Pour WEBDEV, il est ensuite nécessaire de réafficher la page.
Important : Pour supprimer un enregistrement dans le fichier de données, il ne faut pas utiliser la fonction <Source>.Supprime 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 <Table>.Select.
// Récupère la ligne en cours du champ TABLE_CLIENT
LigneEnCours = TABLE_CLIENT

// Nom du client sélectionné
NomCli = COL_NOM[TABLE_CLIENT.Select()]

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 <Table>.SelectOccurrence et <Table>.Select.
// Trace le contenu des lignes sélectionnées
i est un entier
NbSelectionne est un entier = TABLE_Produit.SelectOccurrence() 
POUR i = 1 Ã€ NbSelectionne 
Trace("Ligne sélectionnée : " + ...
TABLE_Produit[TABLE_Produit.Select(i)]) 
FIN 

// Equivalent Ã  :
// POUR TOUTE LIGNE SELECTIONNEE DE TABLE_Produit
// Trace("Ligne sélectionnée : " + ...
// TABLE_Produit[TABLE_Produit.Select(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 23
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