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 Zone Répétée
  • Présentation
  • Ajout d'une rupture
  • Ajouter une rupture
  • Haut et bas de rupture
  • Image des boutons de rupture
  • Manipulation des champs présents dans les hauts et les bas de ruptures
  • Initialiser les champs présents dans les hauts et les bas de ruptures
  • Récupérer la valeur des champs présents dans les hauts et les bas de ruptures
  • Calculs automatiques dans les ruptures des champs Zone répétée
  • Manipulation des hauts et des bas de ruptures par programmation
  • Initialiser les hauts/bas de ruptures
  • Fonctions associées aux hauts/bas de ruptures
  • Propriétés associées aux hauts / bas de ruptures
  • Gestion des ruptures dans les champs Zone répétée par programmation
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 Zone répétée permet de regrouper des données correspondant à un ou plusieurs arguments.
Par exemple, il est possible de lister :
  • les clients par pays et par ville,
  • les factures par client,
  • les produits selon leur famille et leur sous-famille, ...
Les ruptures dans les champs Zone répétée sont disponibles pour :
  • Les champs Zone répétée fichier chargé en mémoire.
  • Les champs Zone répétée mémoire.
  • WEBDEV - Code ServeurWEBDEV - Code Navigateur Les champs Zone répétée en mode Classique, Ajax et Navigateur.
WINDEV Remarques :
Android Les ruptures dans les champs Zone répétée ne sont pas disponibles dans les champs Zone répétée multicolonne.
Ajout d'une rupture

Ajouter une rupture

Pour ajouter une rupture dans un champ Zone répétée :
  1. Affichez la fenêtre de description du champ Zone répétée (option "Description" du menu contextuel).
  2. Dans l'onglet "Contenu", cliquez sur le bouton Bouton de rupture. La fenêtre de gestion des ruptures apparaît :
    Définition des ruptures
  3. Sélectionnez la rubrique ou l'attribut sur lequel une rupture doit être effectuée. Il est possible de sélectionner plusieurs rubriques et/ou attributs pour effectuer plusieurs ruptures.
    Les rubriques et attributs proposés diffèrent en fonction du type du champ Zone répétée :
    • Dans un champ Zone répétée lié à un fichier de données :
      • parcours automatique : la rubrique de parcours, les attributs liés à cette rubrique de parcours et les attributs liés à aucune rubrique sont proposés. Si la rubrique de parcours correspond à une clé composée, les composantes de cette clé composée, les attributs liés à ces composantes et les attributs liés à aucune rubrique sont proposés.
      • parcours programmé : les rubriques du fichier de données, les attributs liés à ces rubriques et les attributs liés à aucune rubrique sont proposés.
    • Dans un champ Zone répétée lié à une requête :
      • parcours automatique : la rubrique de parcours, les attributs liés à cette rubrique de parcours et les attributs liés à aucune rubrique sont proposés. Si la rubrique de parcours n'est pas spécifié (option "<Automatique>"), les rubriques triés de la requête, les attributs liés à ces rubriques et les attributs liés à aucune rubrique sont proposés.
      • parcours programmé : les rubriques de la requête, les attributs liés à ces rubriques et les attributs liés à aucune rubrique sont proposés.
    • Dans une zone répétée mémoire, tous les attributs de la zone répétée sont proposés.
  4. Validez la fenêtre de gestion des ruptures.
  5. Les ruptures seront réalisées selon leur ordre d'affichage dans le tableau des ruptures présent dans l'onglet "Contenu" de la description de la zone répétée. Modifiez si nécessaire cet ordre à l'aide des boutons fléchés à droite du tableau.
  6. Indiquez le mode de fonctionnement des ruptures :
    • WINDEVWindowsLinuxAndroidiPhone/iPad si les ruptures doivent être des "Ruptures avec enroulé/déroulé". Si cette option est cochée, un bouton "+ /-" est automatiquement ajouté dans le haut de rupture. Ce bouton permettra à l'utilisateur d'enrouler ou de dérouler la rupture à sa convenance.
    • WEBDEV - Code ServeurPHP si les ruptures doivent être des "Ruptures enroulables/déroulables par simple clic dans le fond". Si cette option est cochée, il suffit à l'utilisateur de cliquer dans le haut de rupture pour enrouler ou dérouler la rupture à sa convenance.
  7. Validez.
Remarques :
  • Des ruptures peuvent être créées aussi bien dans des zones répétées mono-colonnes que dans des zones répétées multicolonnes.
  • WINDEVAndroidiPhone/iPad Un haut de rupture peut être toujours visible. Dans ce cas, lors du défilement, le bandeau de la rupture ne sera pas déplacé. Pour rendre un haut de rupture toujours visible :
    • Sélectionnez le haut de rupture et affichez sa description (option "Description" du menu contextuel).
    • Dans l'onglet "UI", cochez l'option "Haut de rupture toujours visible".

Haut et bas de rupture

Lors de l'ajout d'une nouvelle rupture, un haut et un bas de rupture sont automatiquement ajoutés à la zone répétée. Si la zone répétée possède plusieurs ruptures, il y a autant de hauts et de bas de ruptures que de ruptures.
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 la zone répétée.
Ces hauts et bas de rupture peuvent contenir des champs. Ces champs sont manipulables par programmation.
WINDEVWindowsLinux Les sommes, moyennes et comptages sont automatiques dans les ruptures des zones répétées. Les champs des hauts et bas de ruptures peuvent afficher ces calculs. Pour plus de détails, consultez calculs automatiques dans les ruptures de zones répétées.
WINDEVWindowsLinuxAndroidiPhone/iPad

Image des boutons de rupture

Pour modifier l'image des boutons de rupture :
  1. Affichez la fenêtre de description du champ Zone répétée (option "Description" du menu contextuel).
  2. Dans l'onglet "Contenu", une rupture est définie.
  3. Dans l'onglet "Style", sélectionnez l'élément "Rupture, cadre en création".
  4. Cliquez sur le bouton "Image Plus/Moins des ruptures".
  5. Dans la zone qui s'affiche, saisissez le chemin de l'image du bouton des ruptures. Cette image est une image à 2 états (plus et moins) au format 24 x 12.
    Personnalisation des boutons de rupture
Manipulation des champs présents dans les hauts et les bas de ruptures

Initialiser les champs présents dans les hauts et les bas de ruptures

Pour initialiser 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 Zone répétée>.<Nom Haut/Bas de rupture>.<Nom Champ>.<Nom Propriété> = <Valeur>
    Si <Nom Propriété> correspond à la propriété Valeur, seule la valeur du champ spécifié pour la répétition en cours est modifiée
  • soit manipulez chaque champ d'une rupture donnée :
    <Nom Zone répétée>[<Indice>].<Nom Champ>.<Nom Propriété> = <Valeur>
    <Indice> doit correspondre à une des répétitions contenues dans la rupture voulue.
  • soit manipulez chaque attribut de tous les hauts / bas de rupture :
    <Nom Attribut> = <Valeur>
    La propriété associée à <Nom Attribut> sera initialisée.
  • soit manipulez chaque attribut d'une rupture donnée :
    <Nom Attribut>[<Indice>] = <Valeur>
    La propriété associée à <Nom Attribut> sera initialisée.
    <Indice> doit correspondre à une des répétitions contenues dans la rupture voulue.
Remarque : Ces lignes de code doivent être présentes dans l'événement "Affichage d'une ligne du haut / bas de rupture".

Récupérer la valeur des champs présents dans les hauts et les bas de ruptures

Pour récupérer la valeur des champs présents dans les hauts et les bas de ruptures :
  • soit manipulez chaque champ de la rupture en cours :
    <Valeur> = <Nom Champ>.<Nom Propriété>
    ou
    <Valeur> = <Nom Zone répétée>.<Nom Haut/Bas de rupture>.<Nom Champ>.<Nom Propriété>
  • soit manipulez chaque champ d'une rupture donnée :
    <Valeur> = <Nom Zone répétée>[<Indice>].<Nom Champ>.<Nom Propriété>
    <Indice> doit correspondre à une des répétitions contenues dans la rupture voulue.
  • soit manipulez chaque attribut de tous les hauts / bas de rupture :
    <Valeur> = <Nom Attribut>
    La valeur de la propriété associée à <Nom Attribut> sera récupérée.
  • soit manipulez chaque attribut d'une rupture donnée :
    <Valeur> = <Nom Attribut>[<Indice>]
    La valeur de la propriété associée à <Nom Attribut> sera récupérée.
    <Indice> doit correspondre à une des répétitions contenues dans la rupture voulue.
Remarque : Ces lignes de code doivent être présentes dans l'événement "Affichage d'une ligne du haut / bas de rupture".
WINDEV
Calculs automatiques dans les ruptures des champs Zone répétée
Il est possible d'ajouter des calculs automatiques (somme, comptage et moyenne) dans les hauts et bas de rupture.
Pour mettre en place les calculs automatiques :
  1. Insérez un champ Libellé ou un champ de saisie dans le haut/bas de rupture.
  2. Affichez la fenêtre de description du champ (option "Description" du menu contextuel).
  3. Dans l'onglet "UI", dans la zone "Dans une rupture, afficher", cliquez sur le lien "Aucun calcul" ou sur la description du calcul (si un calcul automatique a déjà été défini). La fenêtre de description d'un calcul automatique s'affiche.
  4. Sélectionnez le calcul à effectuer. Vous pouvez choisir :
    • "La somme de" : le champ affichera la somme par rupture.
    • "La moyenne de": le champ affichera la moyenne sur la rupture.
    • "Le nombre (comptage) de" : le champ comptera le nombre d'éléments par rupture.
  5. Sélectionnez l'élément sur lequel le calcul doit être effectué. Il est possible d'effectuer le calcul sur :
    • Un champ : le calcul sera effectué sur la propriété valeur du champ.
    • Un attribut de la zone répétée : le calcul sera effectué en utilisant la propriété de l'attribut.
    • Une rubrique du fichier de données (uniquement pour les zones répétées fichier).
  6. Validez.
Astuces :
  • Selon le type d'information calculé, pensez à modifier le masque de saisie du champ qui affiche le calcul.
  • N'hésitez pas à utiliser la technologie des "eye magnet" sur les champs de saisie affichant des calculs dans les ruptures. Il sera ainsi possible de mettre en évidence un calcul (par exemple affichage d'un CA insuffisant en rouge).
Manipulation des hauts et des bas de ruptures par programmation

Initialiser les hauts/bas de ruptures

Pour initialiser les hauts et bas de rupture, utilisez la syntaxe suivante :
<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".

Fonctions associées aux hauts/bas de ruptures

Les fonctions associées aux hauts / bas de ruptures sont les suivantes :
ZoneRépétéeDérouleDéroule une rupture du champ Zone répétée sur une ligne donnée.
ZoneRépétéeDérouleToutDéroule toutes les ruptures d'un champ Zone répétée avec rupture.
ZoneRépétéeEnrouleEnroule une rupture précédemment déroulée d'un champ Zone répétée.
ZoneRépétéeEnrouleDérouleSur une répétition/ligne donnée d'un champ Zone répétée :
  • replie une rupture (si elle est déroulée),
  • déplie une rupture (si elle est enroulée).
ZoneRépétéeEnrouleToutEnroule toutes les ruptures déroulées d'un champ Zone répétée.
ZoneRépétéeIndiceRuptureRenvoie l'indice du haut et du bas de rupture d'une rupture donnée dans un champ Zone répétée.

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

Plusieurs propriétés permettent de manipuler les ruptures par programmation, principalement :
EnrouléLa propriété Enroulé permet de :
  • connaître ou définir l'état (enroulé ou déroulé) qui sera utilisé lors des prochains ajouts de lignes dans un champ Table hiérarchique.
  • connaître ou modifier l'état enroulé/déroulé pour :
    • les ruptures d'un champ Table,
    • les ruptures d'un champ Zone répétée,
    • les cellules de rupture des champs Tables et Zone répétée,
    • un champ Tiroir,
    • un champ Ruban,
    • un champ Barre de navigation.
    • un champ Tableau croisé dynamique dans un état.
Pour connaître la liste complète des propriétés disponibles, consultez Propriétés disponibles sur les ruptures (Zone répétée).
WINDEV
Gestion des ruptures dans les champs Zone répétée par programmation
Les ruptures dans les champs Zone répétée peuvent être créées et manipulées par programmation grâce aux fonctions suivantes :
RuptureAjouteAjoute une rupture dans un champ Table ou dans un champ Zone Répétée.
RuptureSupprimeSupprime une rupture dans un champ Table ou dans un champ Zone répétée.
RuptureSupprimeToutSupprime toutes les ruptures présentes dans un champ Table ou un champ Zone répétée.
L'ajout d'une rupture dans une zone répétée est réalisé grâce à la fonction RuptureAjoute. La rupture créé correspond à une variable de type Champ qui peut ensuite être manipulé avec les mêmes propriétés WLangage qu'une rupture créée sous l'éditeur.
Liste des exemples associés :
eCommerce Exemples complets (WEBDEV) : eCommerce
[ + ] Le projet eCommerce est un site complet de commerce en ligne personnalisable via une interface d'administration Web.
- La partie vitrine / paiement du site est réalisée en AWP afin de permettre un référencement optimal des produits.
- La partie administration du site est réalisée en session classique WB pour garantir une sécurité optimale.
Version minimum requise
  • Version 10
Documentation également disponible pour…
Commentaires
Cas : Affichage d'une seule occurence dans une rupture
Si on laisse cocher le "Mode Ajax" dans la zone répétée avec rupture et que sur une de celle-ci, on a qu'une occurrence, alors la ligne ne s'affiche pas. Il suffit de décocher cette option pour afficher la ligne.
Cédric JULLIEN
22 juin 2010

Dernière modification : 08/03/2023

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