PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • 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 WatchCatalystUniversal Windows 10 AppWindows Mobile
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/iPadJava 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 AppAndroidJava 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
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