PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Gènere dynamiquement des lignes avec un modèle
Gènere dynamiquement des lignes avec un modèle
Iniciado por a, 08,feb. 2019 11:15 - 5 respuestas
Publicado el 08,febrero 2019 - 11:15
Bonjour,

J'ai une interface sous forme d'une boite à outil avec des volets, dans chaque volet je dois générer des lignes avec des champs dedans, chaque ligne contient les mêmes champs, la chose qui change est la donnée dedans. Je ne connais pas à l'avance le nombre de lignes à générer, cela peut aller de 0 à +infini.

J'ai donc crée un modèle contenant les champs d'une ligne mais je ne trouve pas de doc pour savoir comment l'utiliser pour faire apparaitre plusieurs lignes les unes en dessous des autres en utilisant ce modèle et en le remplissant avec le résultat d'un requête (dont je dispose déjà).

Une idée ?

Cordialement.
Miembro registrado
299 mensajes
Publicado el 08,febrero 2019 - 12:31
"je dois générer des lignes avec des champs dedans"

c'est dans un objet Table ?
On peut faire tableAjoute()
Publicado el 08,febrero 2019 - 14:01
J'utilise l'objet "boite à outils" (un élément avec des volets qui s’accumulent verticalement et s'ouvrent au clic) disponible dans l'éditeur et non une table. Pour avoir le bon nombre de volets, j'ai déjà récupéré le nombre depuis la base et je crée un nouveau volet autant de fois que voulu avec une boucle. Là ne réside pas le problème.
La difficulté est d’insérer mon modèle que j'ai fait dans ces volets autant de fois que voulu. Mon modèle contient une ligne avec plusieurs libellés et boutons et je dois répéter cette ligne un certain nombre de fois dans les volets. Je récupère le nombre de fois pour chaque volet pas de problème, mais comment je met des lignes en utilisant mon modèle et comment je met les données dedans ?
Miembro registrado
299 mensajes
Publicado el 08,febrero 2019 - 14:21
La solution est alors peut être une Liste Répétée.
Publicado el 08,febrero 2019 - 14:57
Soit, mais comment cela se met en place ? La doc sur le site est très peu renseignée. Et l'aide du logiciel ne donne rien.
Miembro registrado
299 mensajes
Publicado el 08,febrero 2019 - 15:16
Via l'onglet création vous créez une liste répétée sur votre objet
Sur l'objet créé vous placez les différents objets qui composeront chaque ligne (ou vous utilisez un modèle de champ si vous maitrisez ce principe)
Dans l'objet liste répétée vous établissez le lien entre les informations reçues et les différents objets d'affichage


Le reste se passe par programmation. Voici l'exemple de PC Soft
Dans cet exemple il y a 2 objets à afficher NomProduit et CodeProduit

ZoneRépétéeSupprimeTout(ZR_REPETE1)
HLitPremier(Produit, NomProd)
TANTQUE HEnDehors() = Faux
ZoneRépétéeAjoute(ZR_REPETE1, Produit.NomProd + TAB + Produit.Code)
HLitSuivant(Produit, NomProd)
FIN
Mensaje modificado, 08,febrero 2019 - 15:19