AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Prism dbgrid aktuelle Zeile im dbGrind färben
Thema durchsuchen
Ansicht
Themen-Optionen

dbgrid aktuelle Zeile im dbGrind färben

Ein Thema von Andreas Nord · begonnen am 30. Mär 2009 · letzter Beitrag vom 31. Mär 2009
Antwort Antwort
Seite 1 von 2  1 2      
Andreas Nord

Registriert seit: 30. Mär 2009
10 Beiträge
 
#1

dbgrid aktuelle Zeile im dbGrind färben

  Alt 30. Mär 2009, 16:31
Datenbank: bde • Zugriff über: keine ahnung
Hallo, würde zu gerne die gesamte ausgewählte Zeile in einen DbGrind einfärben.
Bekomme leider nur die aktuelle Zelle gefärbt:

Delphi-Quellcode:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);

begin
if (State=[gdSelected,gdFocused])
    then DBGrid1.Canvas.Brush.Color := clred
    else DBGrid1.Canvas.Brush.Color := clWhite;
end;
Hab schon mindestens 3 Stunden gesucht. Wäre sehr dankbar!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: dbgrid aktuelle Zeile im dbGrind färben

  Alt 30. Mär 2009, 16:42
Und wenn Du unter "Options" RowSelect auf true stellst?

[edit] BDE unter Delphi.NET? Bist Du da sicher? [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Andreas Nord

Registriert seit: 30. Mär 2009
10 Beiträge
 
#3

Re: dbgrid aktuelle Zeile im dbGrind färben

  Alt 30. Mär 2009, 16:59
Klappt leider auch nicht. Möchte auch gerne jede Celle zur laufzeit editieren können. Aber trotzdem Danke.
Ist eine Paradox 7 Tabelle.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: dbgrid aktuelle Zeile im dbGrind färben

  Alt 30. Mär 2009, 17:05
Dann such doch mal nach Hier im Forum suchenDrawColumnCell, da solltest Du einige Beispiele finden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: dbgrid aktuelle Zeile im dbGrind färben

  Alt 30. Mär 2009, 17:10
Das Problem ist, dass du hier zwei Mengen auf Gleichheit überprüfst.
Nur Zellen, die Selected und Fokusiert werden eingefärbt (nur eine Zelle hat den Fokus)
Delphi-Quellcode:
begin
  if gdSelected in State then // ***
     DBGrid1.Canvas.Brush.Color := clred
  else
     DBGrid1.Canvas.Brush.Color := clWhite;
end;
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: dbgrid aktuelle Zeile im dbGrind färben

  Alt 30. Mär 2009, 17:13
das hab ich natürlich geflissentlich übersehen. Vielleicht sollte ich mich mal sinnvollen Dingen wie Fliegenfischen in der Badewanne widmen, so wird das hier eh nichts mehr.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Andreas Nord

Registriert seit: 30. Mär 2009
10 Beiträge
 
#7

Re: dbgrid aktuelle Zeile im dbGrind färben

  Alt 30. Mär 2009, 17:26
Sorry, laut Delphi-Hilfe:

gdSelected - Die Zelle ist aktuell ausgewählt

Ich möchte wissen, ob die Zeile und nicht die Zelle ausgewählt ist!

Danke für die Bemühungen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: dbgrid aktuelle Zeile im dbGrind färben

  Alt 30. Mär 2009, 17:31
Nochmal: RowSelect auf true stellen und die Abfrage ändern.
Zitat:
if (State=[gdSelected,gdFocused])
Das tritt nämlich nur dann ein, wenn State genau diese beiden Flags enthält. Wenn Dir eins der beiden genügt, müsste das IMHO so lauten:if (gdSelected in State) or (gdFocused in State)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Andreas Nord

Registriert seit: 30. Mär 2009
10 Beiträge
 
#9

Re: dbgrid aktuelle Zeile im dbGrind färben

  Alt 30. Mär 2009, 17:39
Also mit:
Delphi-Quellcode:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
  begin
if gdSelected in State
    then DBGrid1.Canvas.Brush.Color := clred
    else DBGrid1.Canvas.Brush.Color := clWhite;
end;
und der Option "RowSelect" erhalte ich genau mein erwünschtes ergebnis.

Nun kann ich aber nicht mehr die einzelnen Zellen editieren
  Mit Zitat antworten Zitat
Andreas Nord

Registriert seit: 30. Mär 2009
10 Beiträge
 
#10

Re: dbgrid aktuelle Zeile im dbGrind färben

  Alt 30. Mär 2009, 18:20
Es muss doch irgendwie möglichsein, innerhalb der Funktion "DBGrid1DrawColumnCell" festzustellen welche Zeile bei einer Tabelle ausgewählt ist!?

Mit RecNo geht das leider nicht, da inerhalb von DBGrid1DrawColumnCell dieser von 0 bis an das Tabellenende Hochgezählt wird.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:43 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