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
  • Initialiser les différents champs/attributs d'un champ Zone répétée
  • Récupérer la valeur des différents champs/attributs d'un champ Zone répétée
  • Récupérer la valeur des différents champs/attributs d'une répétition d'un champ Zone répétée
  • Contenu de la répétition en cours
  • Contenu d'une répétition spécifique
  • Se positionner sur une répétition spécifique
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
WINDEV, WINDEV Mobile et WEBDEV permettent de manipuler un champ Zone répétée directement par programmation. Il suffit d'utiliser directement la variable du champ Zone répétée dans le code.
La variable du champ Zone répétée correspond au nom du champ Zone répétée. Cette variable est de type entier.
Initialiser les différents champs/attributs d'un champ Zone répétée
Pour initialiser les différents champs/attributs d'un champ Zone répétée :
  • soit utilisez la fonction ZoneRépétéeAjoute ou ZoneRépétéeAjouteLigne.
  • soit manipulez directement chaque champ de la zone répétée :
    <Nom Zone répétée>[<Indice>].<Nom Champ>.<Nom Propriété> = <Valeur>

  • soit manipulez directement chaque champ de toutes les répétitions de la zone répétée :
    <Nom Zone répétée>.<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 directement chaque attribut du champ Zone répétée :
    <Nom Attribut>[<Indice>] = <Valeur>
  • soit manipulez directement chaque attribut du champ Zone répétée pour la répétition en cours :
    <Nom Attribut> = <Valeur>
Par exemple :
  • Changer la valeur du champ de saisie "SAI_NomClient" dans le champ Zone répétée "ZR_Client" pour la répétition 8 :
    ZR_Client[8].SAI_NomClient.Valeur = "Montgomery"
    // Equivalent à : ZR_Client[8].SAI_NomClient = "Montgomery"
    // En WEBDEV, un attribut permettant de modifier la valeur
    // du champ "SAI_NomClient" doit exister
  • Changer la valeur du champ de saisie "SAI_NomClient" dans le champ Zone répétée "ZR_Client" pour la répétition en cours :
    ZR_Client.SAI_NomClient.Valeur = "Montgomery"
    // Equivalent à : ZR_Client.SAI_NomClient = "Montgomery"
    // En WEBDEV, un attribut permettant de modifier la valeur
    // du champ "SAI_NomClient" doit exister
  • Changer la couleur de fond du champ "SAI_NomClient" dans le champ Zone répétée "ZR_Client" pour la répétition 8 :
    ZR_Client[8].SAI_NomClient.CouleurFond = BleuFoncé
    // En WEBDEV, un attribut permettant de modifier la couleur de fond
    // du champ "SAI_NomClient" doit exister
  • Rendre invisible le champ "SAI_TelClient" dans le champ Zone répétée "ZR_Client" pour toutes les répétitions :
    ZR_Client.SAI_TelClient.Visible = Faux
    // En WEBDEV, un attribut permettant de modifier la visibilité
    // du champ "SAI_TelClient" doit exister
  • Modifier la largeur du champ "SAI_AdresseClient" lié à l'attribut "ATT_AttributLargeur" dans le champ Zone répétée "ZR_Client" pour la répétition 8 :
    ATT_AttributLargeur[8] += 100
    // Equivalent à : ZR_Client[8].SAI_AdresseClient.Largeur += 100
  • Modifier la largeur du champ "SAI_AdresseClient" lié à l'attribut "ATT_AttributLargeur" dans le champ Zone répétée "ZR_Client" pour la répétition en cours :
    ATT_AttributLargeur += 100
Remarque : Ces lignes de code doivent être présentes dans l'événement "Affichage d'une ligne" du champ Zone répétée.
Récupérer la valeur des différents champs/attributs d'un champ Zone répétée
Pour récupérer la valeur des différents champs/attributs d'un champ Zone répétée :
  • soit manipulez directement chaque champ du champ Zone répétée :
    <Valeur> = <Nom Zone répétée>[<Indice>].<Nom Champ>.<Nom Propriété>

  • soit manipulez directement chaque champ de la zone répétée pour la répétition en cours :
    <Valeur> = <Nom Zone répétée>.<Nom Champ>.<Nom Propriété>

  • soit manipulez directement chaque attribut du champ Zone répétée :
    <Valeur> = <Nom Attribut>[<Indice>]
  • soit manipulez directement chaque attribut du champ Zone répétée pour la répétition en cours :
    <Valeur> = <Nom Attribut>
Par exemple :
  • Connaître la valeur du champ de saisie "SAI_NomClient" du champ Zone répétée "ZR_Client" pour la répétition 8 :
    ResNomClient = ZR_Client[8].SAI_NomClient.Valeur
    // Equivalent à : ResNomClient = ZR_Client[8].SAI_NomClient
    // En WEBDEV, un attribut permettant de modifier la valeur
    // du champ "SAI_NomClient" doit exister
  • Connaître la valeur du champ de saisie "SAI_NomClient" dans le champ Zone répétée "ZR_Client" pour la répétition en cours :
    ResNomClient = ZR_Client.SAI_NomClient.Valeur
    // Equivalent à : ResNomClient = ZR_Client.SAI_NomClient
    // En WEBDEV, un attribut permettant de modifier la valeur
    // du champ "SAI_NomClient" doit exister
  • Connaître la couleur de fond du champ "SAI_NomClient" dans le champ Zone répétée "ZR_Client" pour la répétition 8 :
    ResCouleur = ZR_Client[8].SAI_NomClient.CouleurFond
    // En WEBDEV, un attribut permettant de modifier la couleur de fond
    // du champ "SAI_NomClient" doit exister
  • Connaître la largeur du champ "SAI_AdresseClient" lié à l'attribut "ATT_AttributLargeur" dans le champ Zone répétée "ZR_Client" pour la répétition 8 :
    ResLargeur = ATT_AttributLargeur[8]
    // Equivalent à : ResLargeur = ZR_Client[8].SAI_AdresseClient.Largeur
  • Connaître la largeur du champ "SAI_AdresseClient" lié à l'attribut "ATT_AttributLargeur" dans le champ Zone répétée "ZR_Client" pour la répétition en cours :
    ResLargeur = ATT_AttributLargeur
    // Equivalent à : ResLargeur = ZR_Client.SAI_AdresseClient.Largeur
Récupérer la valeur des différents champs/attributs d'une répétition d'un champ Zone répétée

Contenu de la répétition en cours

Pour récupérer le contenu de la répétition en cours :
<Valeur> = <Nom Zone répétée>[<Nom Zone répétée>]
Le résultat est une chaîne de caractères contenant :
  • WINDEV MobileUniversal Windows 10 AppAndroidiPhone/iPad chaque attribut et/ou chaque champ séparé par TAB.

Contenu d'une répétition spécifique

Pour récupérer le contenu de la répétition d'indice <Indice> :
<Valeur> = <Nom Zone répétée>[<Indice>]
Le résultat est une chaîne de caractères contenant :
  • WINDEV MobileUniversal Windows 10 AppAndroid chaque attribut et/ou chaque champ séparé par TAB.
Se positionner sur une répétition spécifique
Pour se positionner sur une répétition spécifique, utilisez la syntaxe suivante :
<Nom Zone répétée> = <Indice>
Par exemple :
// Ajout d'une répétition vide
ZoneRépétéeAjoute(ZR_Produit)
// Positionnement sur la répétition vide
ZR_Produit = ZoneRépétéeOccurrence(ZR_Produit)
Version minimum requise
  • Version 10
Documentation également disponible pour…
Commentaires
Afficher une image dans un champs image par programmation
Bonjour à tous,
je voudrais fortement pouvoir afficher une image, enregister dans mon dossier _web de mon projet et dont le chemin se trouve dans une rubrique d'une bd, dans un champs image dans webdev
vue que fselecteurimage ne fonctionne pas sous webdev,je ne sais que faire
est ce que quelqu'un peut m'aider
Merci

AUGUSTIN TANOH
24 juin 2021
BUG Windev Mobile 24 (Sous Android)
Soit la zone répétée ZR_CLient renseignée par programmation :

ZoneRépétéeAjouteLigne(ZR_Client)
ZR_Client[ZR_Client..Occurrence].SAI_NomClient = "Client 1"
ZoneRépétéeAjouteLigne(ZR_Client)
ZR_Client[ZR_Client..Occurrence].SAI_NomClient = "Client 2"

Dans "Sélection d'une ligne de ZR_Client" :

- Lors d'un clique sur la première ligne, SAI_NomClient retourne la valeur Initial de SAI_NomClient !
- Lors d'un clique sur la deuxième ligne, SAI_NomClient retourne "Client 2". Un clique sur la première ligne retournement ensuite "Client 1"...

Le problème semble être que tant que le pointeur de la liste n'est pas modifié, il n'y a pas transfert depuis la liste mémoire vers les champs.

Solution:
1. Ajouter ZR_Histo = -1 après chargement de la liste !
2. Utiliser la syntaxe ZR_Client[ZR_Client].SAI_NomClient
Patrick MOIRE
24 déc. 2019

Dernière modification : 25/05/2022

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