PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Champ table: déplacement par programmation
Champ table: déplacement par programmation
Débuté par Phiphi, 22 sep. 2018 19:52 - 3 réponses
Membre enregistré
6 messages
Posté le 22 septembre 2018 - 19:52
Bonjour
Je rencontre un problème sur un champ table.

Je pose sur la fenêtre 4 boutons "début"-"précédent"-"suivant"-"fin" et un champ table composé de plusieurs colonnes.

dans le code click de chaque bouton le code correspondant:

ex :click suivant
table = table + 1

ex click précedent
table = table - 1

etc....

le champ table est basé sur une requête avec option mise en mémoire.
Toutes les colonnes son triable. le tri par défaut est idclient

Lorsque je click sur les boutons sans activer le tri dans les colonnes du champ table cela fonctionne bien.
par contre lorsque je tri la table en cliquant sur les entêtes le déplacement à l'aide des boutons ne fonctionne plus. bien sur au clavier cela fonctionne. j'ai l'impression que la table fonctionne avec l'ordre initiale.

j'ai également essayé avec la fonction envoietouche, même comportement.

Au clavier cela fonctionne toujours correctement


Une Idée ?


cdt



BTN_suivant

SI voletActif = 1 ALORS
EnvoieTouche( "{BAS}",TABLE1 )
Recherche_fiche()
SINON
DonneFocus(FEN_FEN_TAB_FIC_CLIENT.TABLE1_clients)
EnvoieTouche( "{BAS}",TABLE1 )
FIN
Membre enregistré
299 messages
Popularité : +16 (16 votes)
Posté le 23 septembre 2018 - 15:09
table = table + 1

Personnellement cette écriture me choque
Je ne sais pas si cela va changer quelque chose :

LN_Ligne est un entier = table
LN_Ligne += 1
table = LN_Ligne
Membre enregistré
6 messages
Posté le 23 septembre 2018 - 17:06
Merci pour cette réponse.
La syntaxe est différente mais comme vous le précisez le résultat est le même heureusement.
cdt
Membre enregistré
165 messages
Popularité : +12 (12 votes)
Posté le 23 septembre 2018 - 18:59
Bonjour,
je viens de tester sur une table mémoire, puis sur une table fichier, les deux avec test du tri des colonnes ça fonctionne chez moi.
juste une petite précision pour les boutons suivant et précédent quand on arrive à la fin il faut boucler.

exemple pour le bouton suivant :
SI TABLE_Table1 = TABLE_Table1..Occurrence ALORS
TABLE_Table1 =1
SINON
TABLE_Table1 +=1
FIN


Bon Dev.