Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Farbe einer einzelenen im DBGrid ändern (https://www.delphipraxis.net/45503-farbe-einer-einzelenen-im-dbgrid-aendern.html)

compi22 7. Mai 2005 13:49

Datenbank: SQL-Server • Zugriff über: ADO

Farbe einer einzelenen im DBGrid ändern
 
Hallo Leute,

Es ist zwar nicht Delphi sondern C++ aber vielleicht kann mir doch einer helfen.
Wie kann ich die Farbe einer einzelnen Zelle in einen DBGrid in Abhängigkeit bestimmter Werte ändern.
Irgendwie macht er bei mir nur ganze Zeile andersfarbig.
Habe zwar hier im Forum schon einige ähnliche Beiträge gelesen, komme aber damit nicht klar. :?:

anbei der Quellcode
if (table1->FieldByName("ORT")->AsString=="Berlin")
{
DBGrid->Canvas->Brush->Color->clYellow;
}
dbGrid->DefaultDrawColumnCell(Rect, DataCol, Column,State)

Danke!!

bttb930 7. Mai 2005 14:08

Re: Farbe einer einzelenen im DBGrid ändern
 
soweit ich weiß musst du nur die methode OnCustomDraw überschreiben und dort in Abhängigkeit das als Parameter übergebene ACanvas beeinflussen (ACanvas->Brush->Color := ...). Mehr nicht. Also nur ein einziger Befehl nach dem if, und nicht Grid->Canvas->...

Allerdings arbeite ich nicht mit dem DBGrid, sondern mit den Grids von Developers Express (www.devexpress.com). Dort geht es so.

compi22 7. Mai 2005 15:00

Re: Farbe einer einzelnen Zelle im DBGrid ändern
 
Danke !! funktioniert aber leider nicht !!

Die Methode OnCustomDraw ist gar nicht verfügbar und ACanvas ebenfalls nicht

Sharky 7. Mai 2005 15:30

Re: Farbe einer einzelenen im DBGrid ändern
 
Zitat:

Zitat von compi22
... Es ist zwar nicht Delphi sondern C++ aber vielleicht kann mir doch einer helfen....

Hai compi22,

ich denke mit dieser Frage bist Du in einem C++ - Forum besser aufgehoben als in einem Delphi-Forum ;-)

alzaimar 7. Mai 2005 15:51

Re: Farbe einer einzelenen im DBGrid ändern
 
Wie wäre es mit onDrawDataCell... Dann musst Du aber das malen selber programmieren, was nicht weiter schwer ist, besteht es doch aus einem Füllen des Hintergrundes und dem TextOut. Du benutzt einfach das DBGrid.Canvas.

compi22 7. Mai 2005 16:02

Re: Farbe einer einzelenen im DBGrid ändern
 
Danke für den Hinweis!!
ein Beispiel wäre nicht schlecht!!

Johnny_W 7. Mai 2005 16:12

Re: Farbe einer einzelenen im DBGrid ändern
 
Hiho,

Bestimmte Spalten farbig

Dort ist eine Lösung für dein Problem beschrieben.
Ein wenig runter scrollen et voila.


Mfg :)

compi22 8. Mai 2005 16:03

Re: Farbe einer einzelenen im DBGrid ändern
 
Hallo Jonny_W,

Danke für den Tip!!
Funktioniert super!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz