PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Zone répétée - rendre certaines lignes non sélectionnable
Zone répétée - rendre certaines lignes non sélectionnable
Débuté par Marolleau Sylvain, 03 oct. 2014 09:44 - 22 réponses
Posté le 03 octobre 2014 - 09:44
Bonjour,

Je souhaiterai savoir si vous savez comment faire pour griser et rendre non sélectionnable une ligne d'une zone répétée (en fonction d'une condition)

Merci d'avance
Posté le 03 octobre 2014 - 16:16
Pas d'idée ?
même une réponse négative ?
Posté le 03 octobre 2014 - 16:57
Bonjour Sylvain

je ne pense pas que ce soit DIRECTEMENT possible...

Par contre, rien n’empêche de faire quelque chose de ce genre :
- placer un bouton transparent/grisé SUR les autres champs de la ZR
- avoir un attribut sur la visibilité de ce bouton
- rendre le bouton visible si la condition est remplie
- si l'utilisateur clique sur le bouton, re-selectionner par code la
ligne qui était sélectionnée auparavant,

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

NOUVEAU: WXReplication, votre système de réplication open source est
disponible sur mon site web !!!
WXShowroom.com : Montrez vos projets !
Plus d'information sur http://fabriceharari.com


On 10/3/2014 8:16 AM, Marolleau Sylvain wrote:
Pas d'idée ?
même une réponse négative ?
Posté le 03 octobre 2014 - 17:16
SI condition ALORS
ZR_SansNom1[numLigne]..Grisé = Vrai
FIN

Fonctionne en Windev 19, à tester en WM.
Posté le 07 octobre 2014 - 09:26
la fonction ..grisé n'est pas compatible android :(
Posté le 07 octobre 2014 - 10:04
Dans ce cas, la solution de Fabrice devrait faire le taff (comme d'habitude :)), même si elle est moins directe.
Posté le 28 octobre 2014 - 10:52
c'est clair
beaucoup moins directe :(
ya pus qu'à
Posté le 28 octobre 2014 - 11:04
en fait j'ai trouver
la propriété grisée n'est pas compatible android mais on peut faire :

SI condition ALORS
ZR_SansNom1[numLigne]..etat = Grisée
FIN

Et ça, ça marche en Android
Posté le 28 octobre 2014 - 16:49
Bjr,

Sylvain avait écrit le 28/10/2014 :
en fait j'ai trouver
la propriété grisée n'est pas compatible android mais on peut faire :

SI condition ALORS
ZR_SansNom1[numLigne]..etat = Grisée
FIN

Et ça, ça marche en Android


Face à des solutions tres indirectes, vaut mieux chercher un peu...
Bravo, ca pourra servir a d'autres.

a plus

--
-------------------------------------------------------------
www.ctc-soft.com
Gestion biblo-documentaire (free-share)
Comptabilité shareware
Logiciels de Gestion de saisie terrain
Spécialisé Tournées de boulangers
-------------------------------------------------------------
Posté le 28 octobre 2014 - 18:15
Bonjour Sylvain

ZR_SansNom1[numLigne]..etat = Grisée
FIN

Et ça, ça marche en Android


Sur le simulateur ET sur le matériel ?


Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

NOUVEAU: WXReplication, votre système de réplication open source est
disponible sur mon site web !!!
WXShowroom.com : Montrez vos projets !
Plus d'information sur http://fabriceharari.com
Posté le 29 octobre 2014 - 09:12
Bjr,

Fabrice Harari a écrit :
Bonjour Sylvain

ZR_SansNom1[numLigne]..etat = Grisée
FIN

Et ça, ça marche en Android

Sur le simulateur ET sur le matériel ?


Je viens de tester, ca marche tout a fait,sur un Android 4.3 en tout
cas
il faut juste enlever le "e" à grisée ...

a plus

--
-------------------------------------------------------------
www.ctc-soft.com
Gestion biblo-documentaire (free-share)
Comptabilité shareware
Logiciels de Gestion de saisie terrain
Spécialisé Tournées de boulangers
-------------------------------------------------------------
Posté le 29 octobre 2014 - 12:12
Cool

merci pour le test... je suis à Atlanta (WXDevCon) en ce moment,
autrement j'aurai eu le temps de tester moi même

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

NOUVEAU: WXReplication, votre système de réplication open source est
disponible
Posté le 29 octobre 2014 - 15:35
Bjr,

Fabrice Harari avait énoncé :
Cool

merci pour le test... je suis à Atlanta (WXDevCon) en ce moment, autrement
j'aurai eu le temps de tester moi même

Cordialement


on peut faire ca pour toi, pas de pb....
bjr aux ricains .....

--
-------------------------------------------------------------
www.ctc-soft.com
Gestion biblo-documentaire (free-share)
Comptabilité shareware
Logiciels de Gestion de saisie terrain
Spécialisé Tournées de boulangers
-------------------------------------------------------------
Posté le 29 octobre 2014 - 17:08
ça fonctionne bien si je fais
maZR[2]..etat = grisé

Par contre si je parcours ma ZR et que j'essai de grisé selon un condition --> KO

POUR TOUTE LIGNE DE maZR

SI mazr.actif = O ALORS
maZR[maZR]..etat = grisé
FIN
FIN

une idée ?
Posté le 29 octobre 2014 - 17:47
Bjr ,

Sylvain a exprimé avec précision :
ça fonctionne bien si je fais
maZR[2]..etat = grisé

Par contre si je parcours ma ZR et que j'essai de grisé selon un condition
--> KO

POUR TOUTE LIGNE DE maZR
SI mazr.actif = O ALORS
maZR[maZR]..etat = grisé
FIN
FIN

une idée ?


J'ai testé en mettant dans le code de "affichage d'une ligne de ZR"
tu peux pas ?

a plus

--
-------------------------------------------------------------
www.ctc-soft.com
Gestion biblo-documentaire (free-share)
Comptabilité shareware
Logiciels de Gestion de saisie terrain
Spécialisé Tournées de boulangers
-------------------------------------------------------------
Posté le 30 octobre 2014 - 13:45
c'est ce que j'ai fini par faire
mais le résultat est le même :(
Posté le 30 octobre 2014 - 16:20
Bonjour Sylvain

sauf erreur de ma part, ton POUR TOUTE LIGNE ne sélectionne PAS les
lignes de la zone répétée les unes après les autres, donc ton maZR[maZR]
ne peut pas fonctionner, vu que la ligne sélectionnées est toujours la même

A laplace, tu peux faire un Pour i=1 à occurrence(...
et utiliser i comme indice

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

NOUVEAU: WXReplication, votre système de réplication open source est
disponible sur mon site web !!!
WXShowroom.com : Montrez vos projets !
Plus d'information sur http://fabriceharari.com


On 10/29/2014 11:08 AM, Sylvain wrote:
ça fonctionne bien si je fais
maZR[2]..etat = grisé

Par contre si je parcours ma ZR et que j'essai de grisé selon un
condition --> KO

POUR TOUTE LIGNE DE maZR
SI mazr.actif = O ALORS
maZR[maZR]..etat = grisé
FIN
FIN

une idée ?
Posté le 30 octobre 2014 - 18:15
Bjr,

Sylvain vient de nous annoncer :
c'est ce que j'ai fini par faire
mais le résultat est le même :(


Si tu fais "Pour tout" pour gérer de l'affichage, en plus de ce que dit
Fabrice, ca me semble bizarre.
au lieu de

POUR TOUTE LIGNE DE maZR
SI mazr.actif = O ALORS
maZR[maZR]..etat = grisé
FIN
FIN

tu fais
//Affichage d'une ligne de maZR

SI mazr.actif = O ALORS
maZR[maZR]..etat = grisé
FIN

Ca doit marcher, fait atention a ta condition mzr.actif=0 dans ce genre
de boucle aussi.
Teste le passage dans la condition ( en pas a pas )

Moi j'ai fait comme test :

//Affichage d'une ligne de maZR
maZR[2]..etat = grisé

Et la 2eme ligne est vraiment grisée, donc ca ne peut venir que de ta
condition.

a plus

--
-------------------------------------------------------------
www.ctc-soft.com
Gestion biblo-documentaire (free-share)
Comptabilité shareware
Logiciels de Gestion de saisie terrain
Spécialisé Tournées de boulangers
-------------------------------------------------------------
Posté le 30 octobre 2014 - 22:35
En fait je pense vraiment que ca vient de

maZR[maZR]

Avec cette syntaxe, on travaille sur la ligne SELECTIONNEE, et ca ne
marchera NI dans un pour tout, NI dans l'affichage de la ligne. Dans le
code d'affichage, la ligne n'est PAS sélectionnée (en tout cas pas
forcément)

Il faut dans tous les cas avoir le VRAI indice de la ligne sur laquelle
on travaille, et c'est pour ca que maZR[2] a fonctionné

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

NOUVEAU: WXReplication, votre système de réplication open source est
disponible sur mon site web !!!
WXShowroom.com : Montrez vos projets !
Plus d'information sur http://fabriceharari.com

On 10/30/2014 12:15 PM, Dc wrote:
Bjr,

Sylvain vient de nous annoncer :
c'est ce que j'ai fini par faire
mais le résultat est le même :(

Si tu fais "Pour tout" pour gérer de l'affichage, en plus de ce que dit
Fabrice, ca me semble bizarre.
au lieu de

POUR TOUTE LIGNE DE maZR
SI mazr.actif = O ALORS
maZR[maZR]..etat = grisé
FIN
FIN

tu fais
//Affichage d'une ligne de maZR

SI mazr.actif = O ALORS
maZR[maZR]..etat = grisé
FIN

Ca doit marcher, fait atention a ta condition mzr.actif=0 dans ce genre
de boucle aussi.
Teste le passage dans la condition ( en pas a pas )

Moi j'ai fait comme test :

//Affichage d'une ligne de maZR
maZR[2]..etat = grisé

Et la 2eme ligne est vraiment grisée, donc ca ne peut venir que de ta
condition.

a plus
Posté le 06 novembre 2014 - 10:30
Merci pour l'explication
En effet cela fonctionne parfaitement en simulation avec le code suivant :

POUR i=1 _A_ ZoneRépétéeOccurrence(ZR_REQ_produits)
SI ZR_REQ_produits.LIB_ACTIF..Valeur = 0 ALORS
ZR_REQ_produits[i]..Etat = Grisé
FIN
FIN

Par contre, à l'éxécution en Android, j'ai l'erreur suivante :
"Vous avez appelé l'opérateur [] sur le champ ZR_REQ_produits.
L'indice spécifié [26] du champ ZR_REQ_produits[26].TPH_ICONE est invalide.
Les valeurs valides sont comprises entre 1 et 169 (inclus)"

La colonne TPH_ICONE est une image que j'affiche pour chaque ligne dans ma ZR.

Et pour moi, la 26ème ligne de ma ZR n'a rien de particulier.
il ne s'agit pas non plus de la première ligne à inactiver ou activer.

Si quelqu'un a une idée ?
Merci d'avance
Posté le 06 novembre 2014 - 22:27
Bjr,

Sylvain a formulé ce jeudi :

Si quelqu'un a une idée ?
Merci d'avance


toujours la meme chose, en ZR, utilise les attributs.
apres , on verra.

a plus

--
-------------------------------------------------------------
www.ctc-soft.com
Gestion biblo-documentaire (free-share)
Comptabilité shareware
Logiciels de Gestion de saisie terrain
Spécialisé Tournées de boulangers
-------------------------------------------------------------
Posté le 12 novembre 2014 - 11:31
les attributs?
quels attributs ?
Posté le 12 novembre 2014 - 18:18
Bjr,

Sylvain a exprimé avec précision :
les attributs?
quels attributs ?


Si tu ne sais pas ce que veut dire "attribut" quand il s'agit d'une
zone répétée, regarde vite la doc.
J'ai eu un peu de mal a accepter le concept au début, mais quand tu as
compris, c 'est super bien, et juste indispensable si tu veux
travailler avec une zone repetée.

Tu NE devrais PLUS avoir dans ton code des trucs comme
MaZr[MaZr].monlibelle.couleur = ...
ou
MaZr[MaZr].ttc = nnn

mais
MaZr.attr_libelle_couleur = ...
et
MaZr.attr_ttc_valeur = nnn

En fait , et c 'est ce qui est mal expliqué dans la doc, ce sont les
attributs qui s'occupent de quelle ligne de données il faut s'occuper.

a plus

--
-------------------------------------------------------------
www.ctc-soft.com
Gestion biblo-documentaire (free-share)
Comptabilité shareware
Logiciels de Gestion de saisie terrain
Spécialisé Tournées de boulangers
-------------------------------------------------------------