Bonjour à toutes et à tous.
Voila, j'ai un DBGrid qui m'affiche plusieurs lignes, sur chacune d'elles, on trouve les colonnes: description, valeur1, valeur2, valeur3, ..., valeur9.
les différentes valeur[1..9] varie de 0 à 100. la descfription est une string.
J'aurais aimé pouvoir coloré les cellules valeur[1..9] individuellement en fonction de leurs valeur (genre rouge si inférieur à 20, orange entre 20 et 99 et Vert si égal à 100)
j'ai éssayé ceci :
Mais le resultat n'est pas celui espéré, les lignes entière sont coloré (et non pas chaque cellules individuellement). la couleur de la ligne est verte ou blanche selon la dernière case de la ligne sur laquelle j'ai cliqué ...
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 procedure TPilot_Aff.DBGridObjectifsDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var valeurGrid:variant; begin inherited; // on va colorier les cellules valeurGrid:='100'; if self.DBGridObjectifs.SelectedField.Value=valeurGrid then begin TDBGrid(Sender).Canvas.Brush.Color := clLime; end else begin TDBGrid(Sender).Canvas.Brush.Color := clWhite; end; TDBGrid(Sender).DefaultDrawColumnCell(rect,datacol,column,state); end;
si quelqu'un peut m'aidé ca serait fortement apprécié !
Merci d'avance.
Partager