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 liée aux données
  • Présentation
  • Notes
  • Limites pour Android
  • Limites pour iOS
  • Champ Table à accès direct et Table chargé en mémoire
  • Les différents types de champ Table
  • Limitation Java: Saisie en cascade
  • Synchronisation automatique (données HFSQL Client/Serveur)
  • Visualisation automatique des enregistrements reliés
  • Mise en place via l'éditeur de fenêtres (mode automatique)
  • Mise en place via l'éditeur de fenêtres (mode personnalisé)
  • Mise en place par programmation
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
Présentation
Un champ Table lié à une table est un champ dont les colonnes sont reliées à des rubriques d'une table ou d'une requête. La table et la requête sont considérées comme la source de données.
Chaque colonne du champ Table peut être:
  • Liée à une rubrique de la source de données.
  • Liée à une rubrique d'une table reliée à la source de données.
  • Calculée: Si la colonne n'est pas reliée à une rubrique d'une table, c'est une colonne calculée. Pour les colonnes calculées, le contenu de la colonne est re-calculé à chaque affichage de ligne, il n'est pas mémorisé.
Chaque ligne du champ Table correspond à un enregistrement de la source de données.
Un champ Table lié à une table permet de:
  • Visualiser le contenu d'une table (ou d'une requête) à raison d'un enregistrement par ligne et de sélectionner un enregistrement (visualisation de toute la table ou d'une sélection d'enregistrements sélectionnés selon un filtre).
  • WINDEV Visualiser le contenu des enregistrements liés (par exemple, visualiser les lignes de commandes associées à une commande affichée dans le champ Table).
  • Supprimer un enregistrement en supprimant une ligne dans le champ Table.
  • Modifier un enregistrement en modifiant le contenu d'une ligne du champ Table.
  • Ajouter un enregistrement en saisissant une ligne dans le champ Table.
  • WINDEVHFSQL Client/Serveur Rafraîchir automatiquement les données modifiées depuis un autre poste.
Le nombre d'enregistrements pouvant être visualisés est illimité, seules les lignes visibles du champ Table sont chargées en mémoire.
WEBDEV - Code Serveur Remarque: Lors de la création d'un champ Table liée aux données non Ajax, une réglette est automatiquement associée à ce champ. Cette réglette permet d'afficher les différents enregistrements du champ Table.

Notes

  • Les champs Table liés à une table sont essentiellement utilisés pour visualiser des données. Pour saisir des données, utilisez des champs de saisie.
  • La ligne sélectionnée dans le champ Table correspond à l'enregistrement en cours dans la table. S'il y a changement de ligne dans le champ Table, l'enregistrement en cours dans la table est automatiquement modifié.
Android

Limites pour Android

  • La saisie n'est pas disponible dans les champs Table lié à une table. Les fonctions TableAjoute, TableAjouteLigne, TableInsère, TableInsèreLigne, TableModifie et TableModifieLigne ne sont pas disponibles sur ce type de champ.
  • Seul le parcours automatique est disponible dans les champs Table liés à une table. Le parcours programmé n'est pas disponible.
  • Les champs Table liés à une table "chargée en mémoire" ne sont pas limités.
iPhone/iPad

Limites pour iOS

Les champs Table sont disponibles uniquement en visualisation: la saisie n'est pas disponible dans cette version.
Champ Table à accès direct et Table chargé en mémoire
WINDEVWEBDEV - Code ServeurAndroidiPhone/iPadJava

Les différents types de champ Table

Deux types de champs Table liés à une table sont disponibles:
  • Les champs Table liés à une table en accès direct.
    Le champ Table affiche la totalité de la table. Ce type de champ permet de charger des très grosses tables. L'occupation mémoire est faible.
    Nouveauté 2025
    WINDEV Les champs Table liés à une table avec accès direct proposent un tri et une loupe sur toutes les colonnes (si le nombre d'enregistrements est inférieur à 100 000 et si le champ n'utilise pas d'ascenseur à rebond).
    Attention: Cette fonctionnalité est disponible uniquement à partir de la version 2025 Update 2.
  • Les champs Table basés sur une table chargée en mémoire. Seul un nombre spécifique d'enregistrements de la table (défini sous l'éditeur) est chargé en mémoire. Ces champs Table permettent notamment de réaliser des tris et des recherches sur n'importe quelle colonne.
    Android Il n'est pas possible de définir le nombre d'enregistrements chargés en mémoire.
Pour plus de détails sur ces deux types de champs Table, consultez le Comparatif des fonctionnalités des champs Table.
Java

Limitation Java: Saisie en cascade

En Java, la saisie en cascade n'est pas disponible sur les champs Table basés sur une table à accès direct. La saisie en cascade est disponible uniquement pour les champs Table basés sur une table chargée en mémoire.
WINDEV
Synchronisation automatique (données HFSQL Client/Serveur)
Un champ Table lié à une table peut se rafraîchir automatiquement, dès que la table HFSQL Client/Serveur associée est modifiée. Cette fonctionnalité peut être mise en place:
  • sous l'éditeur:
    1. Affichez la fenêtre de description du champ Table.
    2. Dans l'onglet "Contenu", sélectionnez le mode de synchronisation de l'affichage:
      Synchroniser l'affichage
      • Jamais: Aucune synchronisation n'est effectuée (cas par défaut).
      • Modification seulement: La synchronisation est effectuée uniquement lors de la modification d'un enregistrement.
      • Ajout/Suppression seulement: La synchronisation est effectuée uniquement lors de l'ajout ou de la suppression d'un enregistrement.
      • Toujours: La synchronisation est effectuée dès qu'une opération d'écriture ou de suppression est effectuée dans la table.
    3. Validez.
  • par programmation: via la propriété SynchroHFSQL utilisable sur le champ Table.
La synchronisation automatique s'applique:
  • entre les différentes instances d'une même application sur un poste ou différents postes,
  • entre différentes applications sur un poste ou différents postes,
  • entre les différentes fenêtres d'une même application, que le contexte HFSQL soit le même ou non entre les fenêtres.
Attention: L'activation de cette fonctionnalité augmente la charge du serveur lors de l'affichage du champ Table ou lors des déplacements dans le champ.
WINDEV
Visualisation automatique des enregistrements reliés
Dans un champ Table lié à une table, il est possible de dérouler une ligne pour voir les enregistrements d'autres tables, reliées à la ligne sélectionnée.
Exemple:
Enregistrements liés

Mise en place via l'éditeur de fenêtres (mode automatique)

Pour permettre à l'utilisateur de dérouler les lignes d'un champ Table pour visualiser les enregistrements liés:
  1. Affichez la fenêtre de description du champ Table.
  2. Dans l'onglet "Contenu", cochez l'option "Afficher un [ + ] de détail d'une ligne".
    Afficher un détail
    La fenêtre de paramétrage s'affiche automatiquement.
  3. Dans la fenêtre de paramétrage:
    Enregistrements liés automatiquement
    • Cochez si nécessaire l'option "Activer l'affichage des données reliées".
    • Sélectionnez le mode d'affichage "Automatique". Avec ce mode, toutes les tables reliées sont proposées à l'utilisateur.
    • Validez.
  4. Validez la fenêtre de description du champ Table.
Lors de l'exécution du champ Table, l'utilisateur dispose d'un menu contextuel permettant d'afficher les différentes données liées à la table actuellement affichée dans le champ Table.
Enregistrements liés
Enregistrements liés
Remarque: l'image du "+" affiché en début de ligne peut être personnalisée:
  1. Affichez la fenêtre de description du champ Table.
  2. Dans l'onglet "Style":
    • Sélectionnez l'élément "Image [+]/[-] FI de détails de ligne".
    • Cliquez sur le bouton "Image Plus/Moins de la Fenêtre Interne de détails".
    • Sélectionnez l'image correspondant au bouton et validez.

Mise en place via l'éditeur de fenêtres (mode personnalisé)

Pour permettre à l'utilisateur de dérouler les lignes d'un champ Table liée aux données pour visualiser les enregistrements liés:
  1. Affichez la fenêtre de description du champ Table liée aux données.
  2. Dans l'onglet "Contenu", cochez l'option "Afficher un [ + ] de détail d'une ligne". La fenêtre de paramétrage s'affiche automatiquement.
  3. Dans la fenêtre de paramétrage:
    • Cochez si nécessaire l'option "Activer l'affichage des données reliées".
    • Sélectionnez le mode d'affichage "Manuel". Avec ce mode, seules les données d'une table sont proposées à l'utilisateur. Il est possible de personnaliser les données affichées.
    • Sélectionnez la rubrique source, présente dans le fichier affiché par le champ Table.
    • Sélectionnez la rubrique liée, présente dans la table liée.
    • Sélectionnez les rubriques à afficher dans la table de visualisation des données liées. Les boutons et permettent de gérer les données à afficher.
      Sélection détail d'une ligne
    • Validez.
  4. Validez la fenêtre de description du champ Table.
Lors de l'exécution du champ Table, l'utilisateur dispose d'un signe "+" pour afficher les données liées à la table actuellement affichée dans le champ table liée aux données.
Aperçu détail
Remarque: l'image du "+" affiché en début de ligne peut être personnalisée:
  1. Affichez la fenêtre de description du champ Table liée aux données.
  2. Dans l'onglet "Style":
    • Sélectionnez l'élément "Image [+]/[-] FI de détails de ligne".
    • Cliquez sur le bouton "Image Plus/Moins de la Fenêtre Interne de détails".
    • Sélectionnez l'image correspondant au bouton et validez.

Mise en place par programmation

Pour permettre à l'utilisateur de dérouler les lignes d'un champ Table pour visualiser les enregistrements liés:
  1. Créez un champ Table basé sur une table ou une requête.
  2. Dans le code d'initialisation du champ Table, utilisez la propriété LiaisonsDétailLigne.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 04/10/2025

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