Bonjour,
Je liste les éléments d'une table paradoxe dans une dbgrid et je souhaite changer l'ordre de tri de l'affichage quand je clique sur une colonne; Quelqu'un peut-il m'aider?
Merci d'avance
![]()
Bonjour,
Je liste les éléments d'une table paradoxe dans une dbgrid et je souhaite changer l'ordre de tri de l'affichage quand je clique sur une colonne; Quelqu'un peut-il m'aider?
Merci d'avance
![]()
Salut,
je ne pense pas qu'il te soit possible de trier le contenu d'un DBGrid puisque ses valeurs sont directement liées à l'ordre présentes dans la table...
Une solution alternative serait d'utiliser une grille non conectée et de remplir toi même les valeurs.
A+
Comment rejoindre la rédaction de www.developpez.com ?
Améliorer vos posts en faisant une correction orthographique
"Tu as tort d'abuser de ma patience" Sokar
Utilise un TQuery comme élément sous-jascent à ta DBGrid.
1) Avec un "Select * from matable" tu affiches tous les éléments de ta tables dans le DBGrid.
2) Récupération du nom du champ quand tu cliques sur l'entête d'une colonne.
Tu utilises l'événement onTitleClick et la tu reconstruis la requête de ton TQuery de la façon suivante afin d'y ajouter le tri.
Tu peux également gérer l'ordre de tri, pour cela préciser dans ta requête ASC OU DESC.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 procedure TForm1.DBGrid1TitleClick(Column: TColumn); begin with Query1 do begin Active := false; SQL.Text := 'select * from matable '+'order by '+ Column.FieldName; Active := true; end; end;
Cordialement
Partager