AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DBGrid - jede 2. Zeile färben

Ein Thema von Tyler · begonnen am 18. Aug 2003 · letzter Beitrag vom 19. Aug 2003
Antwort Antwort
Benutzerbild von Tyler
Tyler

Registriert seit: 19. Jun 2003
Ort: Berlin
241 Beiträge
 
#1

DBGrid - jede 2. Zeile färben

  Alt 18. Aug 2003, 12:44
Hallo z´sammen...

hab n Problem, zu dem ich nun wirklich schon alle möglichen Quellen durchsucht hab, aber absolut nich fündig geworden bin:

Wie färbt man jeder 2. Zeile oder auch jede ungerade Zeile in einem DBGrid?

Is warscheinlich ne ganz einfache Frage, aber ich komme partout nich dahinter!

vielen Dank im voraus
mfG
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: DBGrid - jede 2. Zeile färben

  Alt 18. Aug 2003, 12:58
So einfach ist die Frage gar nicht. Habe den Source leider im Moment nicht greifbar. Bei einer Listbox ist es mir schon gelungen. Im Grid müssen wahrscheinlich die Spalten noch berücksichtigt werden.

Ich hasse es meist, wenn einer sagt: benutze die Hilfe oder suche mal hier im Forum. Leider kann ich heute selber auch nichts anderes sagen. Suche mal nach "farbiges Memo" oder "farbige Listbox", so in der Richtung. Beitrag von mir. Heute Abend schau ich noch mal rein. Dann komme ich zumindest an meinen Quelltext.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Tyler
Tyler

Registriert seit: 19. Jun 2003
Ort: Berlin
241 Beiträge
 
#3

Re: DBGrid - jede 2. Zeile färben

  Alt 18. Aug 2003, 13:30
danke für deine Mühen Hansa, gedulde ich mich also noch bis heut abend

mfG

//EDIT:
Also folgendes hab ich eben noch gefunden:
http://www.swissdelphicenter.ch/de/showcode.php?id=884

Hier steht zwar wie ich DBGrid-Zeilen einfärbe, aber das nur aufgrund des Inhaltes eines Datenfeldes.

Was bei mir jetzt also noch eine Frage aufwirft: Wie kriege ich Delphi dazu, jede 2. Zeile zu färben?
Über eine Abfrage, ob die aktuelle Zeile gerade oder ungerade ist? Woher weiß ich (Delphi) welche Zeile gerade "aktuell" ist? Woher weiß ich ob eine Zahl gerade oder ungerade ist? (Mir dünkt das hat irgendwas mit "MOD" zu tun... f.e. INTEGER mod 2, kann das sein?)

Also wenn einem hierzu noch was einfällt.... wenn nicht wart ich erstmal gespannt auf Hansa´s Lösungs-Vorschläge
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: DBGrid - jede 2. Zeile färben

  Alt 18. Aug 2003, 14:49
Hai Tyler und Hansa,

ich habe mal in der Code-Library gesucht färbenfärben.

Ups. Der Beitrag ist ja von mir.

Der sollte ohne Probleme für ein DB-Grid anzupassen sein.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Tyler
Tyler

Registriert seit: 19. Jun 2003
Ort: Berlin
241 Beiträge
 
#5

Re: DBGrid - jede 2. Zeile färben

  Alt 18. Aug 2003, 15:32
*freu*.... ich habs, Trial & Error sei dank, kam ich im Endeffekt auf folgende Lösung:

Delphi-Quellcode:
procedure TMainForm.grArtikelDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
If ((qMatBestand.RecNo mod 2) = 0) then begin
grArtikel.Canvas.Brush.Color := clGreen;
grArtikel.DefaultDrawColumnCell(Rect, 0, Column, State);
end;
end;
vielen Dank für eure Aufmerksamkeit

mfG
  Mit Zitat antworten Zitat
Benutzerbild von Tyler
Tyler

Registriert seit: 19. Jun 2003
Ort: Berlin
241 Beiträge
 
#6

Re: DBGrid - jede 2. Zeile färben

  Alt 18. Aug 2003, 16:32
obwohl sich noch eine Frage bei mir aufdrängt:

Da ich in meinem Grid ja abwechselnd den Inhalt verschiedener DB´s anzeigen lasse: Wie bringe ich das Grid dazu die Ansicht zu aktualisieren bzw. meine Draw-Prozedur nocheinmal zu durchlaufen?

Denn jedesmal wenn ich die DataSource für mein Grid wechsle, geht auch die Zeilenfärbung verloren!

mfG
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: DBGrid - jede 2. Zeile färben

  Alt 18. Aug 2003, 16:37
Aktualisieren -> DbGrid.Refresh

Neu Zeichen -> DbGrid.RePaint
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8

Re: DBGrid - jede 2. Zeile färben

  Alt 18. Aug 2003, 18:20
Tyler, der Sauhund. Der hat dieselbe Idee wie ich, die Boxen/Grids auf dem Bildchirm wie ein Tabellierpapier aussehen zu lassen (Grün/weiß). clGreen ist aber zu dunkel, zumindest mit schwarzer Schrift. Soll ich noch den hellgrünen Code rausrücken?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Tyler
Tyler

Registriert seit: 19. Jun 2003
Ort: Berlin
241 Beiträge
 
#9

Re: DBGrid - jede 2. Zeile färben

  Alt 19. Aug 2003, 07:43
hehe... 8) nene, das schmucke Grün wählte ich nur zu "Vorführungszwecken", im Endeffekt nehm ich ein zartes Blau, in etwa genau so verführerisch wie hier der Hintergrund gefärbt ist

vielen Dank nochma

mfG
  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 17:04 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