An die Eigenschaft oder Spalte Title für die DataSource kann nicht gebunden werden

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

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Morrison.

    An die Eigenschaft oder Spalte Title für die DataSource kann nicht gebunden werden

    Neu

    Ich habe mir drei DataTables erstellt.
    DT_FileInfo
    DT_TagLib
    DT_Pictures

    In den Tables TagLib und Pictures habe ich eine Column "FileInfo_ID" mit der ich eine Relation zur Table herstelle.

    Ich befülle DT_FileInfo programmatisch und erhalte bei Zuweisung des erstellten DataTables folgende Fehlermeldung:

    System.ArgumentException: "An die Eigenschaft oder Spalte Title für die DataSource kann nicht gebunden werden.
    Parametername: dataMember"
    Dateien

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Morrison“ ()

    Neu

    Typisiertes DataTable
    Es wird ein DataTable erstellt und dies wird an die BindingSource gebunden und diese an ein DataGridView
    Title hat String

    Hab die Projektmappe mal angehängt

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

    Neu

    Da weiß ich leider auch nicht, wo das Problem ist.
    Ich denke es liegt an der Art, wie du das Binding erzeugst für die DT_TagLibBindingSource. Vielleicht stimmt da was nicht mit der Zuordnung der Relation, wenn du die DataSource für DT_FileInfoBindingSource änderst.
    Du kannst mal folgendes versuchen, um zu sehen was ich meine:
    Du ziehst die TabLib Relation nochmal als DGV aufs Form, das wird automatisch dieselbe BindingSource nutzen wie die Textboxen
    Die Bindings der Textboxen setzt du alle auf die ID Spalte, erstmal. Das wird dann Button1 laufen lassen ohne Fehler.
    Im TagLib DGV wirst aber sehen sind die Spalten Title, Album, etc. nicht gefüllt.
    Ich habe eine Dummy Zeile erzeugt, um das zu sehen.

    VB.NET-Quellcode

    1. Dim p = MP3_Class.DataTable_FileInfo.AddDT_FileInfoRow(True, "MT", "M", "T", "", "", True, #1/1/2000#, #1/1/2000#, #1/1/2000#)
    2. 'MP3_Class.DataTable_TagLib.AddDT_TagLibRow("T", "A", "P", "TT", "1", "PP", "G", "L", p)
    Dabei spielt es keine Rolle, ob ich die TabLib Tabelle befülle oder nicht (Kommentar ein/aus)
    Im Kontrast dazu
    DS_MP3.DT_FileInfo.AddDT_FileInfoRow(True, "MT", "M", "T", "", "", True, #1/1/2000#, #1/1/2000#, #1/1/2000#), das sieht deine BindingSource gar nicht mehr, weil das die ursprüngliche DataSource war, wo aber ja auch die Relation herkam.

    Ich denke es ist besser du arbeitest nur mit einem DataSet (deine MP3 Klasse wirkt auf mich wie ein Pseudo-Duplikat). Dann musst du auch zur Laufzeit nicht an den Bindings werkeln.

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

    Neu

    Morrison schrieb:

    System.ArgumentException: "An die Eigenschaft oder Spalte Title für die DataSource kann nicht gebunden werden.
    Der Fehler wird bei den eingestellten Textboxbindungen verursacht!
    Beim Umstöpseln der DT_FileInfoBindingSource von DS_MP3 zu MP3_Class.DataTable_FileInfo wird zwar der Menmber ID gefunden aber der Member Title nicht mehr, weil dieser in der MP3_Classs.DataTable_FileInfo nicht vorhanden ist...
    Du verbiegst die Bindung von einem DataSet zu einer FileInfo-Klasse? Und das kann bei den voreingestellten Bindungen der Textboxen nicht funktionieren...

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „VB1963“ ()

    Neu

    @VB1963
    Aber die DS_MP3.DT_FileInfo hat generell keine Title Spalte.
    Diese Title-Spalte ist in der DS_MP3.DT_TagLib und diese wird neuinstanziert als MP3_Class.DataTable_TagLib verwendet (ist vom Typ DT_TagLibDataTable, deswegen hat die auch eine Title Spalte)

    Jede dt in DS_MP3 befindet sich genauso als Eigenschaft in MP3_Class.
    Wilder Guess: Vielleicht ist das Problem, dass die Relation zwischen den Tabellen in MP3 nicht mit abgebildet wird?

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

    Neu

    Haudruferzappeltnoch schrieb:

    Wilder Guess: Vielleicht ist das Problem, dass die Relation zwischen den Tabellen in MP3 nicht mit abgebildet wird?
    Ja - diese Relation ist dort in der MP3_Class nicht abgebildet...
    Eigentlich ist das m.E. eine 1:1-Beziehung und die Daten könnten auch in die Haupttabelle verlagert werden...

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