AGB  ·  Datenschutz  ·  Impressum  







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

TDBAdvGrid - Zeilen einfärben

Ein Thema von Eppos · begonnen am 18. Feb 2009 · letzter Beitrag vom 19. Feb 2009
Antwort Antwort
Seite 2 von 3     12 3      
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: TDBAdvGrid - Zeilen einfärben

  Alt 18. Feb 2009, 21:36
Danke funktioniert perfekt...
habe jetzt nur das Problem, die daten in das grid zu schreiben...

Folgendes habe ich versucht:

Delphi-Quellcode:
var aCell : String;
begin
  aCell := Grid1.SelectedField.AsString;

  If ((Query1.FieldByName( 'SAT' ).AsInteger > 0) and (aCol > 0) and (aRow >0)) then begin
    Grid1.Canvas.Brush.Color := Query1.FieldByName( 'SAT' ).AsInteger;
  end else begin
    Grid1.Canvas.Brush.Color := clWhite;
  end;
  Grid1.canvas.FillRect( Rect );

  Grid1.SelectedField.Text := aCell;
aber das funktioniert nicht, er bringt einen Fehler, das das Dataset nicht editierbar ist...

Gibts es einen anderen weg?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: TDBAdvGrid - Zeilen einfärben

  Alt 18. Feb 2009, 21:38
Kannst Du mal die ganze Methode im Zusammenhang posten? Das scheint ein Kontext-Problem zu sein.
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
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: TDBAdvGrid - Zeilen einfärben

  Alt 18. Feb 2009, 21:45
Delphi-Quellcode:
procedure TfrmMain.Grid1DrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
var aCell : String;
begin
  aCell := Grid1.SelectedField.AsString;

  If ((Query1.FieldByName( 'SAT' ).AsInteger > 0) and (aCol > 0) and (aRow >0)) then begin
    Grid1.Canvas.Brush.Color := Query1.FieldByName( 'SAT' ).AsInteger;
  end else begin
    Grid1.Canvas.Brush.Color := clWhite;
  end;
  Grid1.canvas.FillRect( Rect );

  Grid1.SelectedField.Text := aCell;
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: TDBAdvGrid - Zeilen einfärben

  Alt 18. Feb 2009, 21:53
Ich kann beim besten Willen nicht erkennen, wo Du das Dataset editieren willst, da werden doch nur Werte abgefragt
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
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: TDBAdvGrid - Zeilen einfärben

  Alt 18. Feb 2009, 21:55
hier mal die genaue Medlung:

Query1: Dataset not in edit or insert mode.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: TDBAdvGrid - Zeilen einfärben

  Alt 18. Feb 2009, 22:21
Versuchst Du irgendwo anders, Daten zu ändern? Hast Du mal einen Breakpoint gesetzt? Wo tritt der Fehler auf?
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
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: TDBAdvGrid - Zeilen einfärben

  Alt 18. Feb 2009, 22:26
nein ich editiewre die daten nicht,
der Fehler tritt hier auf:

SelectedField.Text := aCell;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: TDBAdvGrid - Zeilen einfärben

  Alt 18. Feb 2009, 22:32
Ah, das wird die interne Datenanbindung sein. Mach doch mal ein Canvas.Textout daraus.
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
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: TDBAdvGrid - Zeilen einfärben

  Alt 18. Feb 2009, 22:41
wunderbar, das hat geklappt.
Das Problem ist jetzt nur, dass überall der gleich Wert drin steht.
Da aber das Grid in FormShow gefüllt wird, und der Fokus im Grid natürlich immer auf dem 1. Feld.
Wie ermittel ich die Zelle durch row und col?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: TDBAdvGrid - Zeilen einfärben

  Alt 18. Feb 2009, 22:47
Da ich die TMS-Komponenten nicht habe, rate ich mal ins Blaue:alterInhalt := Cells[ACol,ARow];
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
Antwort Antwort
Seite 2 von 3     12 3      


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:35 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