Comportement bizarre des interrupteurs dans les tables

Le
JC
Bonjour

Jai des soucis avec les interrupteurs dans les tables. Voici le
problme en dtails

Je veux proposer un comparatif qui permet aux utilisateurs de choisir
des produits dans une table, de cocher ceux qui les intressent, et de
lancer ensuite un comparatif sur les produits slectionns, mais jai
des gros soucis avec une colonne dinterrupteurs qui est utilise pour
le comparatif.
Je prcise tout de suite que je ne veux pas ajouter de champ
comparatif dans ma BD ; OK, a marche, mais cest nul comme
solution, a na rien faire dans ma BD. Cest juste de lIHM, e=
t
rien nempche que je cre dautres comparatifs plus tard.

Pour tester mon ide de comparatif, jai fait un projet test dans
lequel la BD ne contient quun simple fichier Produit avec ID, libell
et prix comme informations (un fichier basique en somme).
Ensuite, mon projet contient une seule fentre dans laquelle jai cr=

une table qui affiche les produits (en utilisant une requte, mais
ceci est sans importance je pense).
Pour que le comparatif soit possible, jai ajout dans ma table une
colonne dinterrupteurs pour que les produits puissent tre cochs ou
non.
Sous la table, jai ajout des potentiomtres qui permettent de
filtrer la BD et qui rafrachissent en temps rel la table (avec
TableAffiche(TABLE_Produit,taCourantEnreg)).

Voici le problme (je suis en Windev 12):
- si jutilise une table fichier avec accs direct, quand je coche des
cases de la colonne Comparatif, le code ci-dessous naffiche rien,
Info nest jamais excut. Pourquoi ? De plus, si je bouge mes
potentiomtres (qui excutent la requte pour rafficher la table),
TOUTES les coches disparaissent dans la colonne Comparatif. Ny a-t-il
pas moyen que cette colonne mmorise automatiquement ses valeurs ?

A chaque modification de COL_Comparatif (TABLE_Produit)
POUR TOUTE LIGNE DE TABLE_Produit
SI COL_Comparatif=1 ALORS
Info(TABLE_Produit.COL_NomProduit)
FIN
FIN

- si jutilise une table mmoire avec le mme code ci-dessus, cette
fois-ci Windev maffiche bien les produits cochs, mais ici aussi le
rafraichissement de la table avec les potentiomtres fait disparaitre
toutes les coches. Encore une fois, comment faire pour mmoriser les
coches et pourquoi cette diffrence de comportement du code entre une
table mmoire et une table fichier ???

Merci pour vos claircissements.

JCT
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
patrice
Le #16368251
JC a écrit :
fois-ci Windev m’affiche bien les produits cochés, mais ici aussi le
rafraichissement de la table avec les potentiomètres fait disparaitre
toutes les coches. Encore une fois, comment faire pour mémoriser les
coches et pourquoi cette différence de comportement du code entre une
table mémoire et une table fichier ???




amha, :
une table lié à un fichier mémorise les valeurs dans le fichier
une table lié à la mémoire mémorise les valeurs dans la mémoire

donc: 1ier cas, si la case n'est pas lié à une rubrique ca risque d'etre
du pour mémoriser sa valeur
a chaque fois que la ligne sera raffraichit, la case risque d'etre
réaffichée à blanc.

2ieme cas:
le pb est peut etre dans les potar, comment la table est raffraichit
(si c'est de l'effacement puis du rechargement ca semble normal que ca
effrace)

Il faut, toujours amha, utiliser un 2ieme fichier pour gérer les
idunique du premier fichier qui sont cochées
(et en multiuser on ajoutera l'id de la session)

dans le code d'affichage de la ligne du tableau:
hlitrecherchepremier(2iemefichier,id1ierfichier, col_id1ierfichier)
col_coche=htrouve(2iemefichier)
JC
Le #16368901
Ok, merci pour l'info. Vu tout le tapage que fait PCSoft comme quoi
Windev fait tout super facilement, j'avais espoir que les tables
auraient géré elles-mêmes les colonnes rajoutées (ce qui est le cas
pour l'affichage) et mémorisaient automatiquement leurs valeurs.

Pour compléter, dans les deux cas, les potars appellent une requête
pour raffraichir la table avec
TableAffiche(TABLE_Produit,taCourantEnreg)). Je ne pensais pas qu'il y
avait d'autres solutions. En avez-vous d'autres à me proposer, sachant
que cette requête a pour objectif de ne faire afficher que les
produits entre X et Y Euros ?
Publicité
Poster une réponse
Anonyme