Entwickler-Ecke

Datenbanken - DBGrid aktuellen datensatz auswählen


Sebbl - Mo 13.10.03 11:18
Titel: DBGrid aktuellen datensatz auswählen
Hi Leute,
ich würde nur mal gern wissen wie ich bei einem DBGrid den aktuellen Datensatz in einem editfeld anzeigen kann. Es stehen schon daten im Grid drin und der der zur zeit angeklickt ist solch bespielsweise in nem editfeld angezeigt werden! wäre nett wenn ja man auskunft darüber geben könnte wie das funktioniert.
danke


joerg68 - Mo 13.10.03 11:27

Nimm in dem Edit Feld die gleiche Datasource wie bei deinem Grid. Dann zeigt das Edit auch automatische ein Feld aus dem Datensatz an der gerade im Grid ausgewählt wurde.
Gruss
jörg


Sebbl - Mo 13.10.03 11:54
Titel: wie geht denn das???
Sorry aber wie kann ich bei nem editfeld eine Datasource einstellen?? Das editfeld hat doch gar nicht die eigenschaft, ich habe ja kein dbeditfeld sondern nur ein normales.

Bei einer combobox geht das ja so#

edit1.Text := Comboboxkonto.Items[Comboboxkonto.itemIndex];

(So wähle ich den aktuellen Datensatz aus der Combobox aus und schreib ihn in das editfeld

Aber wie funktioniert es bei dem blöden dbgrid????


joerg68 - Mo 13.10.03 12:18

Und was spricht dagegen ein DBEditfeld zu verwenden :roll:


Sebbl - Mo 13.10.03 13:23
Titel: gegen DBEdit
Mein Ausbilder spricht dagegen! Ich würde ja auch gern vieles anders machen aber was er sagt wird gemacht. wird schon sein sinn haben. hast du noch ne idee wie es gehen könnte ohne dbeditfelder??


joerg68 - Mo 13.10.03 13:42

In der Datasource Deines Grids gibt es ein Ereignis AfterScroll. Die wird nach dem Wechseln des Datensatzes ausgelöst. Da könntest Du dann den Source zum Füllen deines Editfeldes reinschreiben
z.B. bei einer Query als DS

Delphi-Quelltext
1:
Edit.text := Query.FieldByName('Wunschfeld').asstring;                    

Um auch direkt beim Formularstart etwas in dem EditFeld zu haben mußt Du den Code auch noch mal nach dem öffnen Deiner DS ( im FormCreate) ergänzen. Ich denke das es so klappen müßte( hab es aber nicht getestet)
Gruss
Jörg

Moderiert von user profile iconKlabautermann: Delphi-Tags hinzugefügt.


Klabautermann - Mo 13.10.03 13:46

Hallo,

schaue mal in dieses Tutorial [http://www.delphi-forum.de/viewtopic.php?t=363]. Du kannst auf das Tabellenobjekt (oder Query) welches mit dem DBGrid verknüpft ist zugreifen und es entsprechend auslesen.

Du kommst übrigens so über das Grid an das Dataset:

Delphi-Quelltext
1:
DBGrid1.DataSource.DataSet.[WasAuchImmer]                    


Anstelle von [WasAuchImmer] kannem dann die Dinge, die du mit dem Tabellenobjekt machen wilst, also z.B. FieldByName.

Gruß
Klabautermann


Sebbl - Mo 13.10.03 13:50

Super dank dir jetzt gehts!