Visualisation d'une icône 'Tri' à partir d'un FlexGrid
cs_tulesais
Messages postés175Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 2013
-
24 avril 2007 à 10:42
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
25 avril 2007 à 00:31
Bonjour,
j'utilise le composant Flexgrid avec sa propriété TRI (sort) dans mon application.
Le tri (croissant ou decroissant) s'effectue lorsque l'on click sur l'entête d'une colonne.
Malheureusement, je n'arrive pas à indiquer à l'utilisateur le sens du tri.
J'aurai aimé utiliser la même gestion que l'explorateur windows.
C'est à dire, la flèche descendante ou ascendante à côté du nom de l'entête de colonne.
Y aurait t'il moyen d'utiliser ces flèches dans vb ?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 24 avril 2007 à 12:14
Bonjour,
Si tu veux en plus donner le chois du sens du tri à l'utilisateur tout en lui permettant de ne cliquer que sur la flêche de son choix (sans avoir à choisir à cliquer en plus sur la colonne à trier), c'est toi qui n'as pas le choix :
Il te faut :
mettre dans une Frame étroite audessus de ta Flexgrid un groupe indexé de flêches montantes et un groupe indexé de flêches descendantes (chacune dans un label)
Pour dessiner tes flêches, utilise tout bêtement la police Windinds (par exemple)
l'index à donner à chaque flêche dans chacun des deux groupes doit correspondre à la colonne au-dessus de laquelle figure la flêche en cause
Que te reste-t-il à faire ? tout simplement affecter au click de l'un de ces labels le code de tri correpondant, en utilisant :
l'index du label (qui spécifie donc celui de la colonne comme exposé ci-dessu)
celà se traduira donc par deux codes de tri (un si choisi dans l groupe "montant et un si choisi dans le groupe descendant)
Maintenant, si tu es plus astucieux, tu peux n'utiliser qu'un seul groupe où les index terminés par 0 entraînent un tri ascendant et ceux terminés par un 1 un tri descendant
en donnant comme index, par exemple, le N° de la colonne suivi de 1 ou 0
ainsi, par exemple, au dessus de la colonne 2 : un label indexé 20 et un label indexé 21
au click :
left(index,1) te donne le n° de la colonne
et
right(index,1) te fais savoir si tu envoies le code descendant ou montant
cs_tulesais
Messages postés175Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 20132 24 avril 2007 à 13:16
merci beaucoup pour ton aide jmf !!!
par contre je ne souhaite pas modifier la gestion du tri.
A savoir : un click inverti le sens du tri.
sachant donc dans quel tri je suis (ascendant ou descendant), à l'aide d'un booléen,
comment retranscrire cette information à l'utilisateur ???
par exemple :
aucun click : Nom Prénom Adresse
un click sur prénom : Nom Prénom r Adresse
un click sur prénom : Nom Prénom s Adresse
un click sur adresse : Nom Prénom Adresse r
je ne sais, malheureusement pas comment insérer cette police (Wingdings) dans l'entête du flexgrid à côté du nom de la colonne...
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 24 avril 2007 à 13:21
Ce n'est pas dans l'entête du flexgrid que tu peux utiliser valablement cette police !
Car tout seraiut alors écrit dans cette police et donc carrément ilisible !:
C'est comme je te l'ai dit : séparément, au dessus, dans un cadre... dans lequel tu insères tes labels en leur affectant cette police (propriété font) ...
cs_lermite222
Messages postés492Date d'inscriptionjeudi 5 avril 2007StatutMembreDernière intervention 2 juillet 20124 24 avril 2007 à 15:05
bonjour,
euhhh, je vois pas de pb pour indiquer à l'utilisateur dans quel sens le tri est fait.
Dans un flexgrid il y a moyen de mettre une image, avec alignement,
Ne pourrait-on changer d'image ou icone a chaque click sur l'entête pour mettre un BMP nflêche haut ou flêche bas ?
A moins que je confonde avec MSHflexgrid.
a+
louis
Vous n’avez pas trouvé la réponse que vous recherchez ?