Salut
pour faire simple
dans la methode du dessin des colonne
1 2 3
| procedure Tform.GrilleDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState); |
tu conserve l'ancien on ne sais jamais 
1 2 3
|
inherited;
oldcolor := (sender as TDBGridSiel).Canvas.Brush.Color; |
tu recupere la valeur de ton champs
intValue := (sender as TDBGridSiel).DataSource.DataSet.FieldByName('MonChamp').AsInteger;
selon la valeur tu redefini les couleur
1 2 3 4 5 6 7 8 9 10 11 12
| if (intValue >= IntSeuilValue) then
begin
(sender as TDBGridSiel).Canvas.Font.Color := clnavy;
(sender as TDBGridSiel).Canvas.Pen.Color := clnavy;
(sender as TDBGridSiel).Canvas.Brush.Color := clLightCyan
end
else
begin
(sender as TDBGridSiel).Canvas.Font.Color := clnavy;
(sender as TDBGridSiel).Canvas.Pen.Color := clnavy;
(sender as TDBGridSiel).Canvas.Brush.Color := clLightGreen
end; |
le cas particulier des ligne selectionnées
1 2 3 4 5 6 7
|
if (gdSelected in State) then
begin
(sender as TDBGridSiel).Canvas.Font.Color := clWhite;
(sender as TDBGridSiel).Canvas.Pen.Color := clWhite;
(sender as TDBGridSiel).Canvas.Brush.Color := clnavy;
end; |
on redessine tout
1 2 3
|
(sender as TDBGridSiel).Canvas.FillRect(Rect);
TDBGrid(Column.Grid).DefaultDrawColumnCell(Rect, DataCol, Column, []); |
Partager