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 DBGrid - jede 2. Zeile färben (https://www.delphipraxis.net/7640-dbgrid-jede-2-zeile-faerben.html)

Tyler 18. Aug 2003 11:44


DBGrid - jede 2. Zeile färben
 
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

Hansa 18. Aug 2003 11:58

Re: DBGrid - jede 2. Zeile färben
 
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.

Tyler 18. Aug 2003 12:30

Re: DBGrid - jede 2. Zeile färben
 
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 :)

Sharky 18. Aug 2003 13:49

Re: DBGrid - jede 2. Zeile färben
 
Hai Tyler und Hansa,

ich habe mal in der Code-Library gesucht [cl]färben[/cl].

Ups. Der Beitrag ist ja von mir. :lol:

Der sollte ohne Probleme für ein DB-Grid anzupassen sein.

Tyler 18. Aug 2003 14:32

Re: DBGrid - jede 2. Zeile färben
 
*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

Tyler 18. Aug 2003 15:32

Re: DBGrid - jede 2. Zeile färben
 
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

Sharky 18. Aug 2003 15:37

Re: DBGrid - jede 2. Zeile färben
 
Aktualisieren -> DbGrid.Refresh

Neu Zeichen -> DbGrid.RePaint

Hansa 18. Aug 2003 17:20

Re: DBGrid - jede 2. Zeile färben
 
Tyler, der Sauhund. :mrgreen: 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? :shock:

Tyler 19. Aug 2003 06:43

Re: DBGrid - jede 2. Zeile färben
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 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