Merci super c'est exactement ce que je cherchais.
Quelques questions toutefois.
De ce que j'ai compris on voit dans cette partie du code :
gridCoord:= MouseCoord(X, Y);
Qu'on récupère la collone qui va servir de base pour le tri.
Moi je veux que le tri se fasse toujours sur base de la meme collone.
Je pensais donc pouvoir mettre dans la variable gridCoord une valeur correspondant à la collone qui m'intéresse. Ca ne semble pas possible vu que les types sont incompatibles et je n'ai pas trouvé comment convertir ce type vers par exemple un integer.
Ensuite cette partie
1 2 3 4 5 6 7 8 9 10
|
// Si on a cliqué sur une colonne déja triée on inverse le type de tri
if gridCoord.X = FSortedCol then
FSortOrder:= InvertSort(FSortOrder)
else
// Sinon, on tri par ordre ascendant
begin
FSortedCol:= gridCoord.X;
FSortOrder:= soUp;
end; |
Vu que je veux toujours que le plus grand soit en haut je n'ai pas besoin de ce IF, j'ai donc modifié le code ainsi :
1 2 3 4 5
|
begin
FSortedCol:= gridCoord.X;
FSortOrder:= soUp;
end; |
Mais la il se passe un truc bizarre mais ça ne trie pas du tout comme il faut !
Je ne comprends pas car vu que j'ai juste enlevé la condition qui inverse le sens ç devrait trier dans un sens non ?
Merci d'avance de ton aide
Partager