PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Sélection ZoneRépétée
Sélection ZoneRépétée
Débuté par Guari, 30 oct. 2018 17:06 - 6 réponses
Membre enregistré
4 messages
Posté le 30 octobre 2018 - 17:06
Bonjour à tous !

Je développe actuellement une appli en Windev Mobile 23 pou iOS.
J'ai une fenêtre avec une zone répétée remplie par programmation, chaque zone répétée contient plusieurs champs :





Un champ image (qui affiche une image : logique), un champ lib en haut à droite masqué qui contient l'identifiant de l'enregistrement affiché dans la ZR, un champ libellé qui contient le nom de l'image, un bouton qui affiche l'image en grand (dans une autre fenêtre), un bouton qui affiche un champ de saisie pour modifier le nom de l'image.

Lorsque je clique sur la loupe, j'appelle une fenêtre en passant en paramètre l'ID de la photo affichée, voici le code éxécuté
OuvreFenêtreMobile(MA_FENETRE,MaZR.MonChampQuiContientID)


Avec une image pas de soucis, avec plusieurs image, c'est toujours la première image de la zr qui est affichée.

Selon moi, l'appel à MaZR.MonChampQuiContientID renvoi la valeur de la ligne de la ZR sélectionnée, hors lors du clique sur le bouton, il n'y a pas de changement de la ligne de la ZR sélectionnée, du coup c'est toujours le premier élément de la ZR qui est sélectionné et qui est renvoyé par MaZR.MonChampQuiContientID. Test que j'ai fait, si je clique sur le libelle (pas d'action sur le clic), j'ai un retour visuel de la sélection de ma ligne et lorsque je clique sur la loupe c'est bien la bonne image qui apparait.

Dans l'idéal, il faudrait qu'au clic sur la loupe je puisse déclencher une sélection sur la ligne que je souhaite consulter (avec un ZoneRépétéeSelectPlus) et que j’exécute le traitement lors du clique sur la loupe.

J'ai bien essayé avec ZoneRépétéeInfoXY(MaZR,tiNumLigne,SourisPosX(),SourisPosY()) mais cela ne semble pas fonctionner.

Si quelqu'un à une idée, je suis preneur :)

Merci d'avance pour vos réponses !
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 31 octobre 2018 - 08:51
Bonjour

Essayer
OuvreFenêtreMobile(MA_FENETRE, MaZR.MonChampQuiContientID[MaZR] )
sinon
OuvreFenêtreMobile(MA_FENETRE, MaZR[MaZR].MonChampQuiContientID ) pas certain

--
Cordialement
François
Membre enregistré
4 messages
Posté le 31 octobre 2018 - 09:27
Bonjour François,

Merci de votre réponse, malheureusement cela ne fonctionne pas mieux (c'est toujours le premier item de ma ZR qui est sélectionné).
Il faudrait qu'au clic sur ce bouton, je puisse exécuter un ZoneRepeteeSelectPlus(MaZR, MONINDEX) en trouvant un moyen de donner à MONINDEX l'indice de la ligne dans laquelle le bouton a été cliqué.
Posté le 31 octobre 2018 - 09:53
Guari avait écrit le 30/10/2018 :
Bonjour à tous !

Je développe actuellement une appli en Windev Mobile 23 pou iOS.
J'ai une fenêtre avec une zone répétée remplie par programmation, chaque zone
répétée contient plusieurs champs :





Un champ image (qui affiche une image : logique), un champ lib en haut à
droite masqué qui contient l'identifiant de l'enregistrement affiché dans la
ZR, un champ libellé qui contient le nom de l'image, un bouton qui affiche
l'image en grand (dans une autre fenêtre), un bouton qui affiche un champ de
saisie pour modifier le nom de l'image.

Lorsque je clique sur la loupe, j'appelle une fenêtre en passant en paramètre
l'ID de la photo affichée, voici le code éxécuté
OuvreFenêtreMobile(MA_FENETRE,MaZR.MonChampQuiContientID)


Avec une image pas de soucis, avec plusieurs image, c'est toujours la
première image de la zr qui est affichée.

Selon moi, l'appel à MaZR.MonChampQuiContientID renvoi la valeur de la ligne
de la ZR sélectionnée, hors lors du clique sur le bouton, il n'y a pas de
changement de la ligne de la ZR sélectionnée, du coup c'est toujours le
premier élément de la ZR qui est sélectionné et qui est renvoyé par
MaZR.MonChampQuiContientID. Test que j'ai fait, si je clique sur le libelle
(pas d'action sur le clic), j'ai un retour visuel de la sélection de ma ligne
et lorsque je clique sur la loupe c'est bien la bonne image qui apparait.

Dans l'idéal, il faudrait qu'au clic sur la loupe je puisse déclencher une
sélection sur la ligne que je souhaite consulter (avec un
ZoneRépétéeSelectPlus) et que j’exécute le traitement lors du clique sur la
loupe.

J'ai bien essayé avec
ZoneRépétéeInfoXY(MaZR,tiNumLigne,SourisPosX(),SourisPosY()) mais cela ne
semble pas fonctionner.

Si quelqu'un à une idée, je suis preneur :)

Merci d'avance pour vos réponses !


bonjour,

pour effectuer cette action je procède comme suit :
ma ZR est défini en sélection simple mode de sélection android/ios
dans ma ZR j'ai un attribut relié à aucun champs (cela évite d'avoir
des champs invisible pour stocké des valeurs que je ne veux pas
afficher)
lorsque je remplis cette ZR j'affecte l'ID à cet attribut
lors du clic sur le bouton je fais :
OuvreFenêtreMobile(MA_FENETRE,ZR[ZR].ATT_ID)

--
Cordialement JeAn-PhI
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 31 octobre 2018 - 10:16
"un champ lib en haut à droite masqué qui contient l'identifiant de l'enregistrement affiché dans la ZR"

oui perso je transforme toujours un libellé en entier par IDCIBLE est un entier = val(libellé)

--
Cordialement
François
Membre enregistré
81 messages
Popularité : +2 (4 votes)
Posté le 05 novembre 2018 - 17:01
Guari a écrit :
Bonjour François,

Merci de votre réponse, malheureusement cela ne fonctionne pas mieux (c'est toujours le premier item de ma ZR qui est sélectionné).
Il faudrait qu'au clic sur ce bouton, je puisse exécuter un ZoneRepeteeSelectPlus(MaZR, MONINDEX) en trouvant un moyen de donner à MONINDEX l'indice de la ligne dans laquelle le bouton a été cliqué.



c'est parceque le clic se fait avant la selection de la zr.

pour t'en convaincre, mets un truc du genre
nlig est un entier = zonerepeteeselect(mazr)

tu verras ça le fait pas...

qd j'ai eu la flemme de chercher à fond j'ai utilisé un contournement :
lors du remplissage de la zr, j'utilise le ..note du bouton pour mettre l'id dedans.

mazr[nlig].monbouton..note = monid

et au clic je recupere l'id dans le ..note de mon bouton...

par exemple...
Membre enregistré
4 messages
Posté le 06 novembre 2018 - 10:22
Bonjour à tous !

Merci pour vos réponses

@Cdm98 : c'est ce que j'ai remarqué, au final j'ai déplacé l'ID dans un attribut de la ZR

Pour info, j'ai au final, recrée la ZR depuis le début et la plus de soucis !

Merci à tous pour vos réponses !