DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions Zones répétées
  • Conditions d'utilisation
  • Ajout d'une répétition vide
  • Caractéristiques de la répétition
  • Position de la répétition ajoutée
  • Astuces
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
Ajoute une répétition à la fin d'un champ Zone répétée. Les attributs de la répétition ajoutée peuvent contenir des tabulations.
Exemple
// Initialisation du champ Zone répétée ZR_REPETE1
ZoneRépétéeSupprimeTout(ZR_REPETE1)
HLitPremier(Produit, NomProd)
TANTQUE HEnDehors(Produit) = Faux
ZoneRépétéeAjouteLigne(ZR_REPETE1, Produit.NomProd, Produit.Code)
HLitSuivant(Produit, NomProd)
FIN
Syntaxe

Ajouter un répétition dans un champ Zone répétée avec attributs Masquer les détails

<Résultat> = ZoneRépétéeAjouteLigne(<Champ Zone répétée> [, <Valeur 1> [... [, <Valeur N>]]])
<Résultat> : Entier
  • Numéro de la répétition ajoutée,
  • 0 en cas d'erreur.
<Champ Zone répétée> : Nom de champ
Nom du champ Zone répétée à manipuler.
Si ce paramètre est égal à chaîne vide (""), l'ajout sera effectué dans le champ Zone répétée en cours.
<Valeur 1> : Type de l'attribut associé (optionnel)
Valeur du 1er attribut de la nouvelle répétition.
Les différentes valeurs doivent être indiquées dans l'ordre des attributs (fenêtre de description du champ Zone répétée).
Pour ne pas spécifier de valeur pour un des attributs, utilisez une chaîne vide ("") ou 0 (selon le type de l'attribut).
Si aucun des ces paramètres n'est spécifié, une répétition vide sera ajoutée.
<Valeur N> : Type de l'attribut associé (optionnel)
Valeur du Nième attribut de la nouvelle répétition.
Les différentes valeurs doivent être indiquées dans l'ordre des attributs (fenêtre de description du champ Zone répétée).
Pour ne pas spécifier de valeur pour un des attributs, utilisez une chaîne vide ("") ou 0 (selon le type de l'attribut).
Si aucun des ces paramètres n'est spécifié, une répétition vide sera ajoutée.
WINDEVEtats et RequêtesUniversal Windows 10 AppAndroidJavaCode Utilisateur (MCU)

Ajouter un répétition dans un champ Zone répétée sans attributs Masquer les détails

<Résultat> = ZoneRépétéeAjouteLigne(<Champ Zone répétée>)
<Résultat> : Entier
Numéro de la répétition ajoutée.
<Champ Zone répétée> : Nom de champ
Nom du champ Zone répétée à manipuler.
Si ce paramètre est égal à chaîne vide (""), l'ajout sera effectué dans le champ Zone répétée en cours.
Remarques

Conditions d'utilisation

La fonction ZoneRépétéeAjouteLigne peut être utilisée indifféremment sur :
  • un champ Zone répétée fichier,
  • un champ Zone répétée par programmation.
WEBDEV - Code Navigateur Cette fonction n'est pas disponible sur les champs Zone répétée linéaire. Cette fonction est disponible uniquement sur les champs Zone répétée en mode navigateur.
WEBDEV - Code ServeurPHP Cette fonction est disponible pour les champs Zone répétée en mode Ajax, les champs Zone répétée en mode classique et les champs Zone répétée linéaire.
PHP La fonction ZoneRépétéeAjouteLigne peut être utilisée uniquement sur un champ Zone répétée par programmation.

Ajout d'une répétition vide

Après l'ajout d'une répétition vide, il est nécessaire d'initialiser chaque attribut ou chaque champ un à un.
Par exemple :
WINDEVWEBDEV - Code Serveur Cas d'un champ Zone répétée avec attributs :
// Ajout d'une répétition vide
Indice = ZoneRépétéeAjouteLigne(ZR_Zone1)
 
// Puis initialisation des attributs
ATT_AttributNom[Indice] = "Hobbes"
ATT_AttributPrénom[Indice] = "Samantha"
ATT_AttributCouleurPrénom[Indice] = RougeClair
ATT_AttributVisibleAdresse[Indice] = Faux
WINDEVWEBDEV - Code Serveur Cas d'un champ Zone répétée sans attributs :
// Ajout d'une répétition vide
Indice = ZoneRépétéeAjouteLigne(ZR_Zone1)
 
// Puis initialisation des champs
ZR_Zone1[Indice].ChampNom = "Hobbes"
ZR_Zone1[Indice].ChampPrénom = "Samantha"
ZR_Zone1[Indice].ChampPrénom.CouleurFond = RougeClair
ZR_Zone1[Indice].ChampAdresse.Visible = Faux

Caractéristiques de la répétition

  • Si une valeur correspond au résultat d'un calcul, mettez l'expression numérique entre parenthèses.
    Par exemple :
    ZoneRépétéeAjouteLigne(ZR_ZoneCalcul, (53+29), (83-21))
  • Les attributs de formatage (couleur par exemple) qui ne sont pas renseignés dans le code d'affichage de la répétition (ou ligne) sont automatiquement ré-initialisés.

Position de la répétition ajoutée

Par défaut, la répétition est ajoutée à la fin du champ Zone répétée.
Si le champ Zone répétée est trié (fonction ZoneRépétéeTrie), la répétition ajoutée est positionnée dans le champ Zone répétée en fonction du tri en cours.
WEBDEV - Code Serveur

Astuces

  • Optimisation du référencement :
    Si le champ Zone répétée contient une image, ajoutez un attribut de type "Texte alternatif". Sa valeur pourra être définie par programmation ce qui améliorera le référencement de votre site Internet.
  • Page AWP avec un champ Zone répétée contenant des images à afficher en mode 100% :
    Pour que la propriété 100% soit prise en compte, ajoutez un cadre au champ Image. Pour ne pas afficher ce cadre, la couleur de fond du cadre doit être identique à celle de la page.
Composante : wd300obj.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Windev Mobile 24
Bien que la syntaxe suivante fonctionne sous Windev, elle n'a aucune action avec Windev Mobile : ( LIB_1 un champ de la zone répété ZR_Histo)

ZR_Histo = ZoneRépétéeAjouteLigne(ZR_Histo)
LIB_1 = "Ligne " + ZR_Histo..Occurrence

Voici le code fonctionnant sur les deux environnements :

i = ZoneRépétéeAjouteLigne(ZR_Histo)
ZR_Histo[i].LIB_1 = "Ligne " + ZR_Histo..Occurrence
(...)
ZR_Histo = -1 // remettre "à hors liste" pour que la première ligne fonctionne !
Patrick MOIRE
27 déc. 2019

Dernière modification : 16/06/2023

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