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
  • Comment le faire ?
  • Ajouter une rupture dans un champ Table
  • Haut et bas de rupture
  • Comment remplir un champ Table avec ruptures ?
  • Manipulation des champs présents dans les hauts et les bas de ruptures
  • Comment le faire ?
  • Exemple
  • Calculs automatiques dans les ruptures d'un champ Table
  • Manipulation des hauts et bas de rupture
  • Pour initialiser les hauts/bas de ruptures
  • Propriétés associées aux hauts / bas de ruptures
  • Fonctions WLangage spécifiques aux champs Table avec ruptures
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
Une rupture dans un champ Table permet d'effectuer un regroupement de lignes selon un ou plusieurs critères.
Par exemple, il est possible de regrouper :
  • les clients par pays et par ville,
  • les produits selon leur famille, ...
Les ruptures dans un champ Table sont disponibles pour :
  • les champs Table fichier chargés en mémoire,
  • les champs Table par programmation.
  • WEBDEV - Code ServeurWEBDEV - Code NavigateurPHP les champs Table en mode Classique, Ajax et Navigateur.
Comment le faire ?

Ajouter une rupture dans un champ Table

Pour ajouter une rupture dans un champ Table :
  1. Affichez la description du champ Table (option "Description" du menu contextuel).
  2. Dans l'onglet "Contenu", cliquez sur le bouton Icône d'ajout de rupture. La fenêtre de gestion des ruptures apparaît.
    Remarque : Les ruptures ne sont pas disponibles sur les champs Table fichier à accès direct.
  3. Sélectionnez la rubrique sur laquelle la rupture doit être effectuée. Il est possible de sélectionner plusieurs rubriques pour effectuer plusieurs ruptures. Les rubriques proposées diffèrent en fonction du type du champ Table :
    • Champ Table fichier chargé en mémoire :
      • parcours automatique : la rubrique de parcours, la colonne liée à la rubrique de parcours et les colonnes liées à aucune rubrique sont proposées. Si la rubrique de parcours correspond à une clé composée, les composantes de cette clé composée, les colonnes liées à ces composantes et les colonnes liées à aucune rubrique sont proposées.
      • parcours programmé : les rubriques du fichier de données et les colonnes liées à ces rubriques sont proposées.
    • Champ Table fichier lié à une requête :
      • parcours automatique : la rubrique de parcours, les colonnes liées à cette rubrique de parcours et les colonnes liées à aucune rubrique sont proposés. Si la rubrique de parcours n'est pas spécifié (option "<Automatique>"), les rubriques triées de la requête, les colonnes liées à ces rubriques et les colonnes liées à aucune rubrique sont proposées.
      • parcours programmé : les rubriques de la requête, les colonnes liées à ces rubriques et les colonnes liées à aucune rubrique sont proposées.
    • Champ Table par programmation : toutes les colonnes du champ Table sont proposées.
  4. Les ruptures sont réalisées selon leur ordre d'affichage. Modifiez si nécessaire cet ordre à l'aide des boutons fléchés à droite du tableau.
  5. Validez.

Haut et bas de rupture

Lors de l'ajout d'une nouvelle rupture, un haut et un bas de rupture sont automatiquement ajoutés au champ Table. Si le champ Table possède plusieurs ruptures, il y a autant de hauts et de bas de ruptures que de ruptures.
Les hauts et bas de rupture apparaissent en édition dans le champ Table.
Pour modifier les caractéristiques de ces hauts et bas de rupture (nom, visibilité, couleur de fond, ...), il suffit d'afficher leur fenêtre de description (option "Description" du menu contextuel).
Chaque haut et bas de rupture est associé à l'événement "Affichage d'une ligne". Cet événement est exécuté lorsqu'un nouveau haut ou bas de rupture est affiché dans le champ Table.
Ces hauts et bas de rupture peuvent contenir des champs. Ces champs sont manipulables par programmation. Des événements WLangage sont associés aux hauts de rupture.
Remarques :
  • WEBDEV - Code ServeurWEBDEV - Code NavigateurPHP Dans la description du champ Table (onglet "Contenu"), si le remplissage est de type "Chargé en mémoire", les ruptures peuvent être enroulées/déroulées par un simple clic dans le fond de la rupture (option "Ruptures enroulables/déroulables par simple clic dans le fond").

Comment remplir un champ Table avec ruptures ?

Dans le cas des champs Table fichier, l'ajout des enregistrements est automatiquement en fonction du fichier ou de la requête associée. Le tri est réalisé selon la rubrique de parcours.
Dans le cas des champs Table par programmation, les ajouts de données sont réalisés avec la fonction TableAjouteLigne. Pour obtenir un champ Table trié selon les ruptures définies, il est nécessaire d'utiliser la fonction TableTrie.
Exemple : Champ Table par programmation : Une rupture a été définie sur les colonnes Pays et Ville :
// Remplissage du champ Table
TableAjouteLigne(TABLE_Ruptures, "FRANCE", "Montpellier", "TEXTE1", "Texte1")
TableAjouteLigne(TABLE_Ruptures, "FRANCE", "Paris", "TEXTE2", "Texte2")
TableAjouteLigne(TABLE_Ruptures, "FRANCE", "Montpellier", "TEXTE3", "Texte3")
TableAjouteLigne(TABLE_Ruptures, "FRANCE", "Lille", "TEXTE4", "Texte4")

TableAjouteLigne(TABLE_Ruptures, "ESPAGNE", "Madrid", "TEXTE1", "Texte1")
TableAjouteLigne(TABLE_Ruptures, "ESPAGNE", "Barcelone", "TEXTE3", "Texte3")
TableAjouteLigne(TABLE_Ruptures, "ESPAGNE", "Barcelone", "TEXTE4", "Texte4")

TableAjouteLigne(TABLE_Ruptures, "ALGERIE", "Alger", "TEXTE5", "Texte5")
TableAjouteLigne(TABLE_Ruptures, "ALGERIE", "Oran", "TEXTE6", "Texte6")
TableAjouteLigne(TABLE_Ruptures, "ALGERIE", "Alger", "TEXTE7", "Texte7")
TableAjouteLigne(TABLE_Ruptures, "ALGERIE", "Chlef", "TEXTE8", "Texte8")
TableAjouteLigne(TABLE_Ruptures, "ALGERIE", "Alger", "TEXTE9", "Texte9")

TableAjouteLigne(TABLE_Ruptures, "ESPAGNE", "Madrid", "TEXTE2", "Texte2")

// Tri du contenu du champ Table selon les ruptures
TableTrie(TABLE_Ruptures, TABLE_Ruptures.Pays.Nom, TABLE_Ruptures.Ville.Nom)
Manipulation des champs présents dans les hauts et les bas de ruptures

Comment le faire ?

Pour manipuler les champs présents dans les hauts et les bas de ruptures
  • soit manipulez chaque champ de tous les hauts / bas de rupture :
    <Nom Champ>.<Nom Propriété> = <Valeur>
    ou
    <Nom Table>.<Nom Haut/Bas de rupture>.<Nom Champ>.<Nom Propriété> = <Valeur>
  • soit manipulez chaque champ d'une rupture donnée :
    <Nom Table>[<Indice>].<Nom Champ>.<Nom Propriété> = <Valeur>

    <Indice> correspond au numéro de la ligne de la rupture.
Remarques :
  • Ces lignes de code doivent être présentes dans l'événement "Affichage d'une ligne" du haut / bas de rupture.
  • Cas particulier : champ Interrupteur : un champ Interrupteur possédant plusieurs options et placé dans les hauts et les bas de ruptures ne peut pas être affecté par programmation. Si plusieurs cases à cocher sont nécessaires dans les hauts et les bas de ruptures, il est conseillé d'utiliser un champ Interrupteur par coche.

Exemple

Ce code permet d'afficher dans le champ "LIB_Pays", le nom du pays affiché dans la colonne Pays. Ce code est saisi dans le code d'affichage d'une ligne de HautRupture :
// Code d'affichage de la rupture
// Récupère l'indice de la rupture (ici RUPT_HautDeRupture) 
IndiceRupture est un entier = TableIndiceRupture(RUPT_HautDeRupture)

// Fixe la valeur du libellé contenu dans la rupture
TABLE_CLIENTS[IndiceRupture].LIB_PAYS = "Pays : " + TABLE_Articles.COL_NomPays
Calculs automatiques dans les ruptures d'un champ Table
Manipulation des hauts et bas de rupture

Pour initialiser les hauts/bas de ruptures

Il est possible de manipuler tous les hauts/bas de rupture :
<Nom Haut/Bas de rupture>.<Nom Propriété> = <Valeur>
Remarque : Ces lignes de code doivent être présentes dans l'événement "Affichage d'une ligne" du haut/bas de rupture.
Exemple : Code permettant de modifier la hauteur des hauts de rupture :
HautRupture1.Hauteur += 10

Propriétés associées aux hauts / bas de ruptures

Les propriétés associées aux hauts / bas de ruptures sont les suivantes :
EnrouléPermet de connaître et de modifier l'état "enroulé" d'une rupture.
HauteurPermet de connaître et de modifier la hauteur d'un haut ou d'un bas de rupture.
WEBDEV - Code Serveur Non disponible.
NomRenvoie le nom d'un haut/bas de rupture.
TypeRenvoie le type d'un élément.
VisiblePermet de savoir si un haut/bas de rupture est visible, et de rendre un haut/bas de rupture visible.

Pour connaître la liste complète des propriétés disponibles, consultez Propriétés disponibles sur les ruptures (Table).
Fonctions WLangage spécifiques aux champs Table avec ruptures
Les fonctions suivantes peuvent être utilisées pour manipuler les ruptures dans les champs Table :
TableDérouleDéroule :
  • une branche d'un champ Table hiérarchique précédemment enroulée.
  • une rupture d'un champ Table précédemment enroulée.
  • une fenêtre de détail affichée pour une ligne.
TableDérouleToutDéroule :
  • toute la hiérarchie (tous les noeuds) d'un champ Table hiérarchique.
  • toutes les ruptures d'un champ Table.
TableEnrouleEnroule :
  • une branche d'un champ Table hiérarchique précédemment déroulée.
  • une rupture d'un champ Table précédemment déroulée.
  • une fenêtre de détail affichée pour une ligne.
TableEnrouleToutEnroule :
  • toute la hiérarchie (tous les noeuds) d'un champ Table hiérarchique.
  • toutes les ruptures d'un champ Table.
TableIndiceRuptureRenvoie l'indice du haut et du bas de rupture d'une rupture donnée dans un champ Table.
Liste des exemples associés :
Le champ Table avec rupture Exemples unitaires (WINDEV) : Le champ Table avec rupture
[ + ] Utilisation du champ Table avec rupture.
Version minimum requise
  • Version 14
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 22/09/2023

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