salut tout le monde ;j'ai une trés interressante question (sous delphi)
j'utilise un dbgrid comme suit:
N° x y point_centre classe_centre
1 1,00 1,00 False 5
2 2,00 1,00 False 5
3 4,00 3,00 False 6
4 5,00 4,00 False 6
5 1,5 1,00 True
6 4,5 3,5 True
je veux colorieer chaque ligne contenant true par une couleur différent(claire)
et les lignes contenant classe_centre les memes par une couleur (foncé)
ex :ligne numéro 5___rose
lignes numéro 1 et 2 ___rouge
initialement (pendant la programmation) je ne connais pas le nombre de points centres pour cela j'ai déclarer:
tabcolor: array[1..151] of TColor=($CBC0FF,$9314FF,$00D7FF,$DDA0DD.......); voici mon code:
j'utilise beaucoup de solutions mais sans aucune faisabilité
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 procedure TForm6.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var z:integer; begin for z:=0 to table1.recordcount-1 do begin table1.First; table1.MoveBy(z); if table1.FieldValues['centre_true']=true then begin DBGrid1.Canvas.brush.Color := tabcolor[couleur+1]; series1.AddXY(table1.FieldValues['x'],table1.FieldValues['y'],'',tabcolor[couleur+1]); // if (datacol=0) then DBGrid1.DefaultDrawColumnCell(Rect,2,column,State); couleur:=couleur+1; end; end; end;
aidez moi svvvvvvvvvvvvvvvvvvp
ma consultation est assez proche
merci d'avance.....
Partager