Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Feldfarbe aus DBGrid auslesen (https://www.delphipraxis.net/78409-feldfarbe-aus-dbgrid-auslesen.html)

Elkos 4. Okt 2006 15:10


Feldfarbe aus DBGrid auslesen
 
Hallo !

Ich hab in einem DBGrid die Felder nach dem jeweiligen Status unterschiedlich eingefärbt und kann über
Delphi-Quellcode:
Zelle.Font.Color
oder
Delphi-Quellcode:
Zelle.Interior.Color
diese in Excel einfärben.

Jetzt würde ich gerne wissen, wie ich die Hintergrundfarbe einer DBGrid-Zelle wieder ausgelesen bekomme !
Ich habe in der Procedure DBGrid1DrawDataCell mit
Delphi-Quellcode:
// set background color
DBGrid1.Canvas.Brush.Color := StringToColor(sColor);
die Hintergrundfarbe zugewiesen, aber hierüber kann ich sie wohl nicht mehr auslesen.

Mache ich da irgendwas falsch ?

Danke

Gruß
Elkos

marabu 4. Okt 2006 15:43

Re: Feldfarbe aus DBGrid auslesen
 
Herzlich willkommen in der Delphi-PRAXiS, Elkos.

Wozu willst du die Farbe einer Grid-Zelle ermitteln? Die Farbe ist doch das Ergebnis einer Bedingung, die du in OnDrawCell() prüfst. Wenn du also beispielsweise alle Zellen mit negativen Zahlenwerten rot einfärbst, dann ist es doch aussagefähiger das Vorzeichen des Zahlenwertes erneut zu prüfen, als den Farbwert zu ermitteln. Falls der Farbwert aber auf eine willkürliche Entscheidung des Benutzers zurückzuführen ist, dann musst du dir die Farbwerte zu den Zellen in einer geeigneten Struktur merken.

Freundliche Grüße vom marabu

Elkos 4. Okt 2006 16:04

Re: Feldfarbe aus DBGrid auslesen
 
Hallo Marabu !

Ich denke dann werde ich wohl die Daten erneut überprüfen, bevor ich mir sämtliche Farben separat merke.
Ich hatte nur angenommen, daß ich die richtigen Daten einfach dem DBGrid entnehmen kann ohne wieder erneut eine Prüfung
durchführen zu müssen.

Danke für die schnelle Antwort !

Gruß
Elkos

mkinzler 4. Okt 2006 17:35

Re: Feldfarbe aus DBGrid auslesen
 
Du mußt ja nur den aktuellen datensatz überprüfen, was imho weiniger aufwendig ist, als dein Vorhaben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr.

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