Wie findet man über Relations Datensätze?

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Haudruferzappeltnoch.

    Wie findet man über Relations Datensätze?

    Hallo,

    ich habe eine Tabelle Autos und eine Tabelle Farben. Genauso zwei DGVs
    Wenn ich im DGVAuto ein Auto wähle springt im DGVFarbe die Auswahl um. Ein ganz klassischer Parent-Child-View

    Nun ist die Frage wie wird die Relation benutzt um die Childs zu finden?
    Die FarbTabelle hat zum Beispiel die FindByAutoIDFarbID
    Die Childs von AutoX kriege z.B: per Farben.Where(Function(x) x.AutoID = AutoX.ID)
    Ich stelle mir jetzt vor, dass die Relation irgendwie ja die richtigen Farben schon beinhaltet, (ähnlich der FindBy), sonst könnte er das ja nicht immer im DGV passend anzeigen.

    Wenn ich da stöbere, komme ich irgendwie mit so einer Syntax zu Rande:
    AutoX.GetChildRows(DS1.Autos.ChildRelations("Autos_Farben")).Cast(Of DataSet1.FarbenRow)

    Ist das schon die Art und Weise wie die BindingSource an die richtigen Datensätze kommt?

    noch ein Bildle, damit man auch was zu gucken hat

    Viele Grüße
    Bilder
    • Unbenannt.png

      14,75 kB, 593×523, 30 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Haudruferzappeltnoch“ ()

    Haudruferzappeltnoch schrieb:

    Wenn ich da stöbere, komme ich irgendwie mit so einer Syntax zu Rande:
    AutoX.GetChildRows(DS1.Autos.ChildRelations("Autos_Farben")).Cast(Of DataSet1.FarbenRow)

    Da hast du untypisiert gestöbert.
    Typisiert wäre:

    VB.NET-Quellcode

    1. AutoX.GetFarbenRows
    (Aber das kennste glaub schon)

    Haudruferzappeltnoch schrieb:

    Ist das schon die Art und Weise wie die BindingSource an die richtigen Datensätze kommt?
    Jo, eine BindingSource nutzt intern untypisierte Methoden.
    zB besonders effizient wäre, wenn die BindingSource sich ein DataView erzeugt, mit definierter Sort-Spalte(n), und dann DataView.FindRows(key) anwendet.
    Beim Debuggen finde ich Hinweise auf sowas, und reime es mir also zusammen.
    Aber wofür wäre das denn wichtig, es genau zu wissen?