Hallo,
Zitat:
Wie schaffe ich es nur eine Zelle und nicht die ganze Spalte zu adressieren bzw. einzufärben?
Das geht mit
DBAdvGrid1.Colors [ACol, ARow] := clWindow;
Zitat:
Ist es überhaupt möglich die Farbe noch zuändern, wenn ich vorher die ganze Zeile mit folgendem Befehl eingefärbt habe [...]
Ich weiß zwar nicht was Du genau versucht hast, aber vielleicht hilft Dir folgendes weiter:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
DBAdvGrid1.RowColor [1] := clBlue; // erste Zeile blau
DBAdvGrid1.Columns [2].Color := clRed; // zweite Spalte rot
DBAdvGrid1.Colors [1, 3] := clGreen; // Zelle erste Spalte, dritte Zeile grün
end;
So kannst Du die Farbe einer Zelle im OnGetCellColor ändern
Delphi-Quellcode:
procedure TForm1.DBAdvGrid1GetCellColor(Sender: TObject; ARow, ACol: Integer; AState: TGridDrawState; ABrush: TBrush; AFont: TFont);
begin
if (ACol = 2) and (ARow = 1) then
ABrush.Color := clWindow
end;
Gruß