Problème de coloration de cellules dans un DBGrid
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 :
Code:
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; |
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é ...
si quelqu'un peut m'aidé ca serait fortement apprécié !
Merci d'avance.