Entwickler-Ecke

Datenbanken - einzelne Zelle aus DBGrid auslesen


utzgur - Sa 15.05.04 16:23
Titel: einzelne Zelle aus DBGrid auslesen
Hallo Leute,

ich möchte eine einzelne Zelle in einen DBGrid auslesen. Im StringGrid geht dies ja über StringGrid.cells[1,1] gibt es so eine Möglichkeit auch beim DBGrid.

Hat jemand eine Idee?

Vielen Dank

Grüße U


UGrohne - Sa 15.05.04 16:28

Nicht über das DBGrid, da es nur anzeigt, was in Deiner DataSource ist. Es wechselt den aktiven Datensatz innerhalb der DataSource und dann kannst Du darüber ja die Werte auslesen:

Delphi-Quelltext
1:
Query1.FieldByName('Feldname').AsString;                    

als Beispiel ;-)


utzgur - Sa 15.05.04 16:45

Vielen Dank schon mal, kann sein das ich im Moment auf dem Schlauch stehe. Mit FieldByName kann ich doch aber nur auf den aktuellen Datensatz zugreifen. Ich will aber irgendeine Zelle auslesen, geht das nur indem ich den Datensatz anwähle?


UGrohne - Sa 15.05.04 17:02

Japp, Du musst dann den Datensatzzeiger verschieben, z.B. mit Move bzw Next


utzgur - Sa 15.05.04 17:06

Jo, Vielen Dank! Ich muss da noch mal drüber nachdenken :wink:


Nicola - Mo 17.05.04 13:09

über das Grid müsste es glaube ich auch gehen
und zwar mit
DBGrid1.selectedField....


UGrohne - Mo 17.05.04 19:02

Nicola hat folgendes geschrieben:
über das Grid müsste es glaube ich auch gehen
und zwar mit
DBGrid1.selectedField....

Ist im Endeffekt aber auch nichts anderes, wie direkt über die DataSource ;-)


aussie - Mi 19.05.04 12:28

Hallo

Probier es mal mit dbgrid.oncellclick unter angabe der Spalte sollte dann der Inhalt in der Zielkomponente erscheinen.

Viel Glück


seoman - Mi 19.05.04 14:00

Ich hoffe dafür wäre jetzt kein neues Thema nötig gewesen,
denn ich sitze irgendwie gerade auf dem Schlauch,
wie es möglich ist,
im DBGrid nicht das erste,
sondern das zweite Feld des aktuellen Datensatzes
zu MARKIEREN.

Kann mir da jemand weiterhelfen? :roll:

thanxx
-seoman


seoman - Fr 21.05.04 15:05

Naja, also damit ging's.


Delphi-Quelltext
1:
DBGrid.SelectedField := ClientDataSet.FieldByName(ClientDataSet.FieldDefs[0].Name);                    


Ihr habt nicht zufällig eine bessere Idee??


-seoman :roll: