DatagridView nach Dateneingabe aktualisieren

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von KassiKraemerly.

    DatagridView nach Dateneingabe aktualisieren

    Die existierenden Beiträge konnten mir nicht richtig helfen. Ich hab viel davon ausprobiert aber komme nicht zum gewünschten Ergebnis.
    Die Aufgabe ist eigentlich total Simpel.
    Ich hab ein DataGridView mit BindingSource an eine *.MDF.
    Nachdem ich etwas in eine Tabelle eingetragen habe, möchte ich gerne, dass nun dieser neue Wert auch in dem DGV angezeigt wird. (Eingaben erfolgen über Textboxen und ComboBox)
    Ich habe versucht das DataSet neu zu befüllen, dass selbe mit dem TableAdapter.

    Was ich schon versucht habe:

    VB.NET-Quellcode

    1. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    2. Me.MALBindingSource.EndEdit()
    3. DataGridView1.DataSource = Nothing
    4. Me.TORSDataSet.Clear()
    5. Me.TORSDataSet.GetChanges()
    6. Me.MALTableAdapter.Fill(Me.TORSDataSet.MAL)
    7. Me.MALBindingSource.DataMember = "MAL"
    8. Me.MALBindingSource.DataSource = Me.TORSDataSet
    9. DataGridView1.DataSource = MALBindingSource
    10. End Sub


    Meine Daten werden erst nach einem Neustart des Programms in dem DGV angezeigt.Ich suche jetzt schon knapp 3 Tage und komme nicht auf die Lösung.Ich schätze mal, dass es eigentlich total simpel ist.


    Im Anhang seht ihr meine MainForm.

    Im DGV werden die bestehenden Daten aus der Datenbank beim Programmstart angezeigt.

    Gibt man nun über die Eingabefelder einen neuen Datensatz ein, werden zwar die Daten in der DB gespeichert, aber nicht im DGV angezeigt. Erst nach einem Neustart sind dann die Daten sichtbar.
    Ich hätte aber gerne zur Laufzeit ein Update der Ansicht.
    Ich will nichts von einer Form in die andere Übergeben.
    Ich hab schon im Designer nachgeschaut, was das Programm zum start macht und hab versucht das nachzumachen.

    Muss man nicht einfach nur die BindingSource und den Tableadapter dazu zwingen, die Daten neu auszulesen?

    Über Hilfe und über eine leichte Hilfe würde ich mich freuen.
    Ich kann mir nicht Vorstellen, dass das so ein Hexenwerk ist. :)

    Danke im Vorraus
    Bilder
    • TORS.PNG

      25,09 kB, 1.059×695, 112 mal angesehen
    Ich sehe in Deinem Post effektiv nix, was mir da weiterhelfen könnte. Der Punkt ist doch: Wie stehen die TextBox-Inhalte und die anderen Eingabe-CEs im Zusammenhang mit dem tDS/der BindingSource/den DataTables?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Ich werde es mal die nächsten Tage versuchen. Werde jetzt erstmal deine Videos suchten ;).

    Melde mich in kürze :)



    Nachdem ich die Steuerelemente (Textbox, etc) an die BindingSource gebunden habe, hat alles geklappt wie ich es wollte, danke für den Hinweis.



    Eine Frage hätte ich dann doch noch.

    Nachdem nun alles Funktioniert und auch die Übergabe der Daten in eine andere Form kein Thema ist, stehe ich jetzt vor dem Problem, dass der Befehl

    VB.NET-Quellcode

    1. Bindingsource.canceledit
    nicht in die andere Form übertragen wir.

    In der Form, in der das DGV ist, funktioniert es einwandfrei.
    Könnte mir da bitte jmd nochmal helfen? :)

    Beiträge zusammengefasst ~VaporiZed

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

    Warum sollte das MainForm CancelEdit einer SubForm-BindingSource aufrufen? Aber hey, machbar ist es:

    VB.NET-Quellcode

    1. DeineSubFormInstanz.DeineSubFormBindingSource.CancelEdit
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.