AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Farbe einer einzelenen im DBGrid ändern
Thema durchsuchen
Ansicht
Themen-Optionen

Farbe einer einzelenen im DBGrid ändern

Ein Thema von compi22 · begonnen am 7. Mai 2005 · letzter Beitrag vom 8. Mai 2005
Antwort Antwort
compi22

Registriert seit: 6. Mai 2005
7 Beiträge
 
#1

Farbe einer einzelenen im DBGrid ändern

  Alt 7. Mai 2005, 13:49
Datenbank: SQL-Server • Zugriff über: ADO
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!!
  Mit Zitat antworten Zitat
bttb930

Registriert seit: 6. Okt 2003
372 Beiträge
 
#2

Re: Farbe einer einzelenen im DBGrid ändern

  Alt 7. Mai 2005, 14:08
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.
  Mit Zitat antworten Zitat
compi22

Registriert seit: 6. Mai 2005
7 Beiträge
 
#3

Re: Farbe einer einzelnen Zelle im DBGrid ändern

  Alt 7. Mai 2005, 15:00
Danke !! funktioniert aber leider nicht !!

Die Methode OnCustomDraw ist gar nicht verfügbar und ACanvas ebenfalls nicht
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Farbe einer einzelenen im DBGrid ändern

  Alt 7. Mai 2005, 15:30
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
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Farbe einer einzelenen im DBGrid ändern

  Alt 7. Mai 2005, 15:51
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.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
compi22

Registriert seit: 6. Mai 2005
7 Beiträge
 
#6

Re: Farbe einer einzelenen im DBGrid ändern

  Alt 7. Mai 2005, 16:02
Danke für den Hinweis!!
ein Beispiel wäre nicht schlecht!!
  Mit Zitat antworten Zitat
Johnny_W

Registriert seit: 27. Apr 2005
33 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Farbe einer einzelenen im DBGrid ändern

  Alt 7. Mai 2005, 16:12
Hiho,

Bestimmte Spalten farbig

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


Mfg
  Mit Zitat antworten Zitat
compi22

Registriert seit: 6. Mai 2005
7 Beiträge
 
#8

Re: Farbe einer einzelenen im DBGrid ändern

  Alt 8. Mai 2005, 16:03
Hallo Jonny_W,

Danke für den Tip!!
Funktioniert super!!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:20 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