Créer une zone répétée imbriquée dans une autre, voilà une demande reçue couramment par notre support. Si les ruptures d'une zone répétée permettaient généralement d'obtenir résultat attendu, la version 28 apporte le nécessaire afin d'avoir une zone répétée, dans les répétitions d'une première zone répétée.

 

L'option à retenir est dans le volet "Contenu" de la description d'une zone répétée : "Utiliser une fenêtre interne par ligne...".

 

 

Bon à savoir, même si la bulle d'aide de la coche le rappel, pour que cette option soit active la zone répétée ne doit contenir aucun champ.

 

L'imbrication sera ainsi obtenue avec le mode opératoire suivant, pour l'exemple une ZR principale verticale va contenir dans ses répétitions une ZR horizontale contenant les jours du mois :

  • créer une ZR principale verticale qui ne contient ni champ, ni attribut,
  • dans le volet "Contenu" de la ZR, cocher "Utiliser une fenêtre interne par ligne...",
  • pour le chargement de la ZR principale, appeler la fonction ZoneRépétéeAjoutePI dans le cas d'un site web, ou ZoneRépétéeAjouteFI dans une application, en lui passant des paramètres adaptés. Dans cet exemple on donne pour chaque répétition une année et un mois :



    Chaque répétition de la ZR principale contiendra alors une instance de la fenêtre interne, et donc sa ZR au contenu personnalisé.
  • créer une fenêtre interne,
  • mettre dans cette fenêtre interne :
    • une ZR (c'est elle qui sera la ZR imbriquée),
    • les traitements nécessaires au chargement des données de sa ZR. Les paramètres reçus par la fenêtre interne serviront à sélectionner les données. Ici par exemple la fenêtre interne reçoit un mois et une année, elle va ajouter dans sa ZR tous les jours du mois pour l'année demandée :

 

Des exemples sont proposés dans cet extrait du WINDEV Tour 28 :

 

 

 

< Retour

Publier un commentaire : 
Votre adresse email ne sera pas publiée