Wie kann ich im TableAdapter erstelle Abfragen über Bindingsource für DGV benutzen?

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von stepper71.

    Wie kann ich im TableAdapter erstelle Abfragen über Bindingsource für DGV benutzen?

    Hallo,

    ich hätte nochmal eine Grundsatzfrage bezüglich Dataset/TableAdapter/BindingSource

    Ich habe ein Dataset erstellt.
    Im Dataset werden die Daten aus verschiedenen Tabellen eines SQL Server enthalten (3 Datatable /TableAdapter )
    Nach dem erstellen im Designer hat jeder TableAdapter eine Default Abfrage, die alle Daten aus der Quelle liest.
    Über den Designer können nun weitere Abfragen hinzugefügt werden die dann auch beim TableAdapter aufgelistet sind.

    Ich habe ein DGV welches über die Bindingsource auf eine der Datatable im Dataset zugreift. Geliefert werden die Daten, die die "Default"-Abfrage des TableAdapter bereitstellt.
    Wie kann ich nun den TableAdapter umstellen das die neu erstellte Abfrage und nicht die Defaultabfrage benutzt wird, ich somit in meinem DGV auch die Daten der neuen Abfrage zu sehen bekomme?
    Das stimmt.
    Es wird eine neue Fillmethode generiert.
    Wenn ich nun ein DGV platziere und eine Datenquelle auswähle kann ich eine Bindingsource anwählen.
    Diese Bindingsource hat als Datamember eine Datatable im Dataset die durch den TableAdapter erzeugt/befüllt wird.
    Wie bringe ich nun den TableAdapter dazu die gewünschte Abfrage zu benutzen damit ich im DGV die Daten dieser speziellen Abfrage sehe?
    Der TableAdapter zeigt in der Datenvorschau die richtigen Daten, die Bindingsource zeigt in der Vorschau die richtigen Daten und selbst das DGV zeigt im Designer in der Datenvorschau die richtigen Daten.
    Aber wenn ich die neuen Spalten im Designer dem DGV hinzufügen will, werden diese nicht angeboten sondern nur die ursprünglich beim erstellen des Dataset angelgten Spalten der DefaultAbfrage aus dem TableAdapter.
    Jetzt reden wir von Spalten...
    Im Eingangspost dachte ich mir, du willst deine Daten mit verschiedenen WHERE-Klauseln eingrenzen.
    In deinem Fall änderst du jetzt das Schema und das ist nicht sinnig. Das meldet die IDE.
    Die Hauptabfrage umfasst alle Spalten der Tabelle und die 2. erstellte Abfrage nur mehr einen Teil der Spalten die übrigen lässt sie dann leer.
    Da ist es gescheiter, da machst du etwas mit LINQ...