Bonsoir,
Dans mon dbGrid, lorsque je clique sur le titre d'une colonne, cela provoque le tri de cette colonne (ascendant ou descendant).
Je voudrais dessiner à côté du titre de la colonne une petite flèche qui indiique le sens du tri.
Le code ci-dessus placé dans l'évènement OnDrawColumnCell, affiche bien une petite flèche quand le sens est descendant mais dans chaque ligne de mon dbGrid et pas dans le titre. Or je veux l'inverse : dans le titre et pas à chaque ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 with TCustomADODataSet(DBGridLivres.DataSource.DataSet) do begin if (Pos(Column.Field.FieldName, Sort) = 1) and (Pos(' DESC', Sort)= 0) then //si le tri est descendant begin DrawRect:=Rect; left:=Rect.Right-20; vpos:=Rect.Top+8; with dbGrid1.Canvas do //--> c'est ici que je dois mettre le canvas du titre. Mais comment ? begin Pen.Color:=clWhite; Pen.Width:=1; MoveTo(left+4,vpos-4); LineTo(left,vpos+4); pen.Color:=clGray; LineTo(left-4,vpos-4); LineTo(left+4,vpos-4); pen.Color:=clBlack; end; end;
Ma question est : comment a-t'on accès au canvas du titre. Autrement dit : que dois-je mettre à la place depour que la flèche s'affiche dans le titre et non dans la grille ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part with dbGrid1.Canvas do
Merci de m'aider.
dleu
Partager