Announcement

Collapse
No announcement yet.

Verknüpfung von 2 TDBGrids

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Verknüpfung von 2 TDBGrids

    Einen wunderschönen guten Morgen miteinander!

    Ich habe mal wieder ein Anfängerproblem.

    Folgendes Szenario:

    Ein Kunde hat mehrere Telefonnummer (Standardproblem).

    Zugrunde liegt eine MySQL-Datenbank (hier wahrscheinlich irrelevant). Ich habe 2 Datasource-Objekte Datasource1 und Datasource2, die jeweils mit SQLClientDataset1 und SQLClientDataset2 verknüpft sind.

    DBGrid1 stellt die Datenmenge von Datasource1 da
    DBGrid2 stellt die Datenmenge von Datasource2 da

    DBGrid1 ist die Kundentabelle
    DBGrid2 ist die Telefonnummerntabelle.

    Der Primärschlüssel der Telefonnummerntabelle ist die Kundennummer.

    Wenn nun ein Datensatz von Datasource1 angezeigt wird, soll in der Tabelle DBGrid2 die dazugehörige Telefonnummer angezeigt werden. Außerdem soll man über den Datenbanknavigator2 in der Lage sein, Telefonnummern für den Kunden zu hinterlegen.

    Gibt es hier irgendwelche Standardmöglichkeiten die beiden Tabellen so miteinander zu verknüpfen, das man möglichst wenig Quellcode schreiben muss?

    Und wenn nein würde ich mich über ein Quellcode-Beispiel freuen.

    Mit freundlichen Grüßen,
    Björn Karpenstein

  • #2
    Stichwort ist <a href="http://www.faqsen.de/delphi/tutorials/4952554952/tut1.jsp">Master-Detail</a&gt

    Comment


    • #3
      Hallo,
      hier eine Lösung von mir die ich in einem Programm in der Form einsetze:

      Angenommen die Haupttabelle (z.B. Kunden) ist table1 mit einer dataSource1 einem Navigator1 und der Anzeige in einem DBGrid1und eine Detailtabelle (z.B. Mitarbeiter eines jeden Kunden) mit Table2, DataSource2, Navigator2 und DBGrid2.

      Um die entsprechenden Daten von Table2 je Kunden anzuzeigen genügt es im Objektinspector von Table2 die DataSource1 als mastersource anzugeben.

      Ich habe dann noch den Navigator2 (für die Detailtabelle) um die Pfeiltasten abgespeckt und die Sache läuft ohne eine Zeile zusätzlichen Code.

      mfg
      Rainer Asmu

      Comment


      • #4
        Vielen Dank! Ich habe zwar keine "Tables" verwendet, da ich in Kylix programmiere, Aber die Master Source eigenschaft und Master Field waren vollkommen ausreichend

        Comment

        Working...
        X