bonjour, voici mon problème, j'ai une grille stringgrid, et lorsque j'insère mes donnée , certaine cellule doivent être rouge et d'autre blanche, mais je reussi seulement avec 1 cellule la première, voici une partie de mon code, ou est mon erreur..??
seul la couleur de une cellule change, les autre reste blanche, et de plus la boolean coul, reste a false, pourtant apres la premiere implementation elle est a true
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 if equipe <> '1' then begin coul := true; responsable := myROW^[5]; SQLrech2 :='select * from equipe where id_equipe ="'+equipe+'"'; if mysql_query(mySQLConnection, pchar(SQLrech2)) = 0 then begin myRES2 := mysql_store_result(mySQLConnection); if (myRES2 <> nil) then begin for z := 0 to myRES2.row_count - 1 do begin myROW := mysql_fetch_row(myRES2); bStr :=myRow^[1]; donnee:=bStr +#13#10; end; end; procedure TForm1.semaineDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin with Sender as TStringGrid do with Canvas do begin { Sélection de la couleur de fond } if gdFixed in State then Brush.Color := clBtnFace else if gdSelected in State then Brush.Color := clNavy else Brush.Color := clWhite; if coul = true then begin Brush.color := clred; coul := false; end; { Dessin du fond } FillRect(Rect); { Sélection de la couleur de texte } if gdSelected in State then SetTextColor(Canvas.Handle,clWhite) else SetTextColor(Canvas.Handle,clBlack); { Dessin du texte en utilisant la fonction API } DrawText(Canvas.Handle, PChar(Cells[ACol,ARow]), -1, Rect ,DT_NOPREFIX or DT_WORDBREAK ); end; end;
merci de votre aide
Partager