Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBGrid und einzelne Zellen beschreiben? (https://www.delphipraxis.net/87490-dbgrid-und-einzelne-zellen-beschreiben.html)

szorcc 1. Mär 2007 11:45

Datenbank: csv • Zugriff über: JvCsvDataSet

DBGrid und einzelne Zellen beschreiben?
 
Hallo,

ich habe eine DataSource an ein DBGrid angebunden, was auch soweit funktioniert.

Nun möchte ich nur in der Anzeige in dem Grid eine Spalte mit eigenen berechneten Werten beschreiben. Geht das auch mit dem DBGrid (und wie?) oder muss man da ein StringGrid nehmen? Und wenn StringGrid, wie kann man das am elegantesten mit dem DataSource verbinden?

Szorcc

mkinzler 1. Mär 2007 11:47

Re: DBGrid und einzelne Zellen beschreiben?
 
Ja, durch Einfügen eines berechneteten Feldes

szorcc 1. Mär 2007 11:58

Re: DBGrid und einzelne Zellen beschreiben?
 
Und wie (wo) macht man das?

mkinzler 1. Mär 2007 12:19

Re: DBGrid und einzelne Zellen beschreiben?
 
Am DataSet

szorcc 1. Mär 2007 12:20

Re: DBGrid und einzelne Zellen beschreiben?
 
Also ich habe jetzt direkt am DataSet das zu berechnende Feld hinzugefügt. Aber eben am DataSet! Ich verstehe das jetzt so, dass ich die berechneten Werte nun auch dort am DataSet reinschreibe, oder?.

Das Problem an der Sache ist nun, dass das Grid fürchterlich flackert, weil die berechnete Spalte aller 1 sek. aktualisiert wird (muss so sein).
Delphi-Quellcode:
for ... do
begin
  DataSet.First();
  //Feld beschreiben...
  DataSet.Next;
end;
Und der Fokus ist dann immer in der letzten Zeile.

Deswegen wollte ich gleich auf die Zellen des DBGrid schreiben.

Gibt es da vielleicht eine elegante Lösung?

szorcc 1. Mär 2007 13:47

Re: DBGrid und einzelne Zellen beschreiben?
 
Ich habe jetzt ein StringGrid genommen...

mkinzler 1. Mär 2007 13:55

Re: DBGrid und einzelne Zellen beschreiben?
 
Zitat:

Also ich habe jetzt direkt am DataSet das zu berechnende Feld hinzugefügt. Aber eben am DataSet! Ich verstehe das jetzt so, dass ich die berechneten Werte nun auch dort am DataSet reinschreibe, oder?.
Berechnete Felder, werden wie der name sagt, wenn benötigt berechnet.

shmia 1. Mär 2007 14:09

Re: DBGrid und einzelne Zellen beschreiben?
 
Man verwendet das Event OnCalcFields:
Delphi-Quellcode:
procedure TForm1.Query1CalcFields(DataSet: TDataSet);
begin
   Dataset['Flaeche'] := Dataset.FieldByName('Breite').AsFloat*Dataset.FieldByName('Laenge').AsFloat;
end;


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