PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile 2024 → Affichage Zone répétée
Affichage Zone répétée
Started by Aiden Svosve, Sep., 12 2020 7:16 PM - 8 replies
Registered member
59 messages
Posted on September, 12 2020 - 7:16 PM
Bonjour à tous,
Je sollicite votre aide aprés plusieurs recherches dans les forum, documentations....
J'ai un probléme d'affichage dans une zone répétée par programation.
j'ai une Zr et un champ rechercher date, lorsque je fais la recherche des dates, les fiches des dates correspondants s'affichent.
Quand je sélectionne une ligne dans la Zone Répétée, une autre fiche s'affiche et quand je selectione aussi d'autres fiches c'est toujours pareil (pas la bonne fiche correspondant)
Et pourtant j'ai bien spécifié l'affichage dans mon code avec IdFich qui est unique...

NB :
Dans ma Zr par programation (initialisation) j'ai ce code :
HExécuteRequête(REQ_Fich)
ZoneRépétéeSupprimeTout(ZR_liste)
POUR TOUT REQ_Fich
ZoneRépétéeAjouteLigne(ZR_liste,REQ_Fich.att1,REQ_Gp.att2,REQ_Gp.Date)
FIN
ZoneRépétéeAffiche(ZR_Fich,taDébut)

Dans la champ rechercher date j'ai ce code :
REQ_Fich.ParamDate = SAI_Rechercher
POUR TOUT REQ_Fich
ZoneRépétéeAjouteLigne(ZR_liste,REQ_Fich,ATT_att1,ATT_att2,ATT_Date)
FIN

Dans la FEN affichage j'ai mis ce code :
HLitRecherche(Fichier,IdFich,REQ_Fich.IdFich)
FichierVersEcran()

>Merci de vos retours !
Registered member
3,333 messages
Popularité : +93 (137 votes)
Posted on September, 12 2020 - 8:04 PM
Si j'ai bien compris, tu veux afficher dans ta zr les enregistrements correspondant à une date.
Si c'est bien le cas, je te conseille de créé un requête qui a comme paramètre la date en question.
Puis tu fais un execute requête.
Puis un pour tout pour remplir la zr.
Nb: Fichierversecran ne sert pas pour les zr rempli par programmation.
Registered member
59 messages
Posted on September, 12 2020 - 10:49 PM
Bonsoir, Merci Popoy oui c'est exactement ça... je l'ai déja rempli avec une requête et ça marche à merveille. Son probléme quand je déploie l'application dans le mobile c'est trés lent (l'affichage et l'ouverture de la ZR) on m'a conseillé de le faire par programmation. le remplissage est Ok. Le probléme s'accentue sur l'affichage de chaque enregistrement.
Registered member
3,333 messages
Popularité : +93 (137 votes)
Posted on September, 13 2020 - 9:26 AM
Cela me paraît normal, car d'après ce que j'ai compris de ton code
Tu as ZR_liste et ZR_Fich et tu fais un HLitRecherche
Je comprends que tu recommence plusieurs fois les mêmes traitement.
Tu ne rempli pas les champs de la même façon.
Dans ce que je vois, ta requête n'est pas exécuté correctement.
Car tu l'exécute puis tu la paramètre or on paramètre la requête avant de l'exécuter
Donc pour moi, contrairement à toi, rien ne fonctionne dans ton code.
Tu devrais revoir l'ordre des traitements et penser à libérer la requête quand tu ferme ta fenêtre.
Supprime tout traitement non nécessaire
Registered member
59 messages
Posted on September, 13 2020 - 5:17 PM
Oui c'est toujours ZR_liste erreur de frappe, et pourtant l'execution se passe à merveille dans mon programme. j'ai bien vérifié les codes est tout Ok. le probléme se passe toujours dans la FEN affichage qui n'affichage pas la fiche correspondante et pourtant j'ai bien spécifié qu'il m'affiche la fiche correspondant avec :
Dans la FEN affichage j'ai mis ce code :
HLitRecherche(Fichier,IdFich,REQ_Fich.IdFich)
FichierVersEcran()
Registered member
3,333 messages
Popularité : +93 (137 votes)
Posted on September, 13 2020 - 6:03 PM
IdFich est une variable globale ?
Sinon as tu fais une fenêtre paramétré avec IdFich comme paramètre ?
Avant le hlitrecherche as tu fais un
Info(IdFich)
Pour vérifier que c'est bien la bonne fiche ?
Pour la lenteur, je confirme mes dires.
Registered member
59 messages
Posted on September, 13 2020 - 8:58 PM
Ppopy Merci pour ta collaboaration finalement je l'ai résolu... le probléme venait de l'ajout je pu le changer avec ce code :
POUR TOUT Fiche
nIndice est un entier = ZR_liste.AjouteLigne()
ZR_liste[nIndice].ATT_date = Fiche.Date
ZR_liste[nIndice].ATT_IDUser = Fiche.IDUser
ZR_liste[nIndice].ATT_att1 = Fiche.att1
ZR_liste[nIndice].ATT_att2 = Fiche.att2
FIN

au lieu de :
POUR TOUT REQ_Fich
ZoneRépétéeAjouteLigne(ZR_liste,REQ_Fich.att1,REQ_Gp.att2,REQ_Gp.Date)
FIN.

Merci infiniment de ta collaboration
Registered member
3,333 messages
Popularité : +93 (137 votes)
Posted on September, 14 2020 - 12:48 AM
En effet, je viens de m'apercevoir que tu utilisais 2 requête et exécuté qu'une.
Registered member
59 messages
Posted on September, 14 2020 - 9:29 AM
Oui cest ça, quand tu m'a reproché que j'avais un probléme de code j'ai tout refais et c'est vrai que j'avais tout mélangé. Merci encore de ta collaboration Popoy