Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Daten aus DBGrid in StringGrid kopieren - wie ? (https://www.delphipraxis.net/49760-daten-aus-dbgrid-stringgrid-kopieren-wie.html)

mrmoe 15. Jul 2005 14:45

Datenbank: Firebird • Zugriff über: IBQuery

Daten aus DBGrid in StringGrid kopieren - wie ?
 
Hallo zusammen,

ich such jetzt schon den halben Tag, konnte aber bislang nichts brauchbares finden. Mein Problem: ich habe mittels einer Datenbankabfrage eine DBGrid-Tabelle mit gewünschten Daten gefüllt. Soweit klappt auch alles, bloss will ich nun ohne in das DBGrid zu klicken alle Daten aus dem Grid auslesen und in eine Textdatei schreiben.

D.h. es sollen nacheinander alle Zeilen und Spalten abgearbeitet werden und der Inhalt kommt erstmal in ein Memo und dann in die Datei, bloss beim Zugriff auf Daten aus dem DBGrid gehts schon los - nix mit
string:=dbgrid1.item[x,y].asString; oder ähnlichem,

deshalb wollte ich nun alles aus dem DBGrid in ein StringGrid übergeben weil man sich da wenigstens die Anzahl der Zeilen zurückgeben lassen kann um zu wissen wie weit man iterieren muss und auch ein problemloser Zell-Zugriff möglich ist ohne auf ein onCellClick-Ereignis angewiesen zu sein.


hat sowas schon mal einer machen müssen, oder irgendwelche Ratschläge ?

Bernhard Geyer 15. Jul 2005 14:54

Re: Daten aus DBGrid in StringGrid kopieren - wie ?
 
Lese die Daten nicht über das Grid aus sondern über die verbundene Query/Table-Komponenten
(Grundgerüst):
Delphi-Quellcode:
Qry.First;
while not qry.eof do
begin
  for i := 0 to qry.Fields.Count - 1 do
  begin
   str := qry.Fields[i].AsString;
  end
  qry.Next
end;

mrmoe 15. Jul 2005 14:56

Re: Daten aus DBGrid in StringGrid kopieren - wie ?
 
wenn das so klappt wär ganz gut, muss ich halt von hand noch ein bisschen filtern, wollte aus der dbgrid auslesen, weil ich da für andere zwecke noch etliche unsichtbare spalten mit datensatz-id usw. drin hab und die krieg ich ja beim abfragen der query mit ausgegeben.

aber danke nochmal für die schnelle antwort.

Treffnix 15. Jul 2005 15:02

Re: Daten aus DBGrid in StringGrid kopieren - wie ?
 
Zitat:

Zitat von mrmoe
wenn das so klappt wär ganz gut, muss ich halt von hand noch ein bisschen filtern, wollte aus der dbgrid auslesen, weil ich da für andere zwecke noch etliche unsichtbare spalten mit datensatz-id usw. drin hab und die krieg ich ja beim abfragen der query mit ausgegeben.

aber danke nochmal für die schnelle antwort.

Was heisst unsichtbar? Hast du sie im Dataset auf Visible = False gestellt? Dann kannst du einfach mit qry.Fields[i].visible abfragen ob die Spalte sichtbar ist.

mrmoe 15. Jul 2005 15:07

Re: Daten aus DBGrid in StringGrid kopieren - wie ?
 
Zitat:

Was heisst unsichtbar? Hast du sie im Dataset auf Visible = False gestellt? Dann kannst du einfach mit qry.Fields[i].visible abfragen ob die Spalte sichtbar ist.
nein, im DataSet hab ich nix manipuliert, nur eben in der DBGrid:

DBGrid1.Columns[x].visible:=false;

für alle Spalten/Attribute x aus der Ergebnismenge die ich zwar für weitere Verarbeitung brauch aber nicht angezeigt haben will.


@Bernhard: habs grad getestet, klappt !! ;) war hier schon am verzweifeln


p.s.: kennt trotzdem jemand ne Möglichkeit eine DBGrid-Tabelle in ein StringGrid zu kopieren mit allen enthaltenen Daten über eine einfache Methode beider Komponenten ?


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