Hi,
<br>
<br>ich möchte in einem tdbctrlgrid die Hintergrundfarbe einer Zeile ändern, wenn ein bestimmter Wert in der Datenbank steht.
<br>
<br>Nun ist mir wohl aufgefallen, das wenn ich die Farbe ändere, so wird das Ereignis OnPaintPanel ununterbrochen aufgerufen.
<br>
<br>Was mache ich falsch?
<br>Ist das ein Bug?
<br>Bsp.:
<pre>
procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid;
Index: Integer);
begin
If start Then
begin
If adodataset1.FieldByName('bool').asBoolean and (Index = 0) Then
dbctrlgrid.Color := clRed
else
dbctrlgrid.Color := clGray;
Edit1.text := inttostr(strtoint(Edit1.text) + 1); //liegt nicht auf dem Grid sondern auf dem Form
End;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if start then
start := False
else
start := true;
end;
</pre>
<br>
<br>Danke!
<br>
<br>mfg
<br>ps
<br>
<br>ich möchte in einem tdbctrlgrid die Hintergrundfarbe einer Zeile ändern, wenn ein bestimmter Wert in der Datenbank steht.
<br>
<br>Nun ist mir wohl aufgefallen, das wenn ich die Farbe ändere, so wird das Ereignis OnPaintPanel ununterbrochen aufgerufen.
<br>
<br>Was mache ich falsch?
<br>Ist das ein Bug?
<br>Bsp.:
<pre>
procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid;
Index: Integer);
begin
If start Then
begin
If adodataset1.FieldByName('bool').asBoolean and (Index = 0) Then
dbctrlgrid.Color := clRed
else
dbctrlgrid.Color := clGray;
Edit1.text := inttostr(strtoint(Edit1.text) + 1); //liegt nicht auf dem Grid sondern auf dem Form
End;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if start then
start := False
else
start := true;
end;
</pre>
<br>
<br>Danke!
<br>
<br>mfg
<br>ps
Comment