Datagridview - Wieso wird letzter vom User editierter Wert nicht übernommen

  • VB.NET
  • .NET (FX) 4.0

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

    Datagridview - Wieso wird letzter vom User editierter Wert nicht übernommen

    Hallo, ich habe ein gebundenes Datagridview (ElementeDataGridView), das der Benutzer manuell editieren kann.
    Vor dem Speichern muss der Benutzer immer in eine andere Zelle klicken, um die zuletzt editierte Zelle auch speichern zu können.
    Dass die aktuelle Zeile noch im "editieren" Modus ist und noch nicht an das Binding weitergegeben wurde ist mir klar.

    Beim Speichern des Datasets mit folgendem Quellcode:

    VB.NET-Quellcode

    1. Me.Validate()
    2. ElementeTableAdapter.Update(ProjektDataSet.elemente)
    3. Me.ElementeDataGridView.Refresh()


    ... wird der zuletzt beschriebene Eintrag nie gespeichert.

    Habe unter anderem folgende Zeilen vor der Speichern- Funktion versucht:

    VB.NET-Quellcode

    1. ElementeDataGridView.Refresh()
    2. ElementeDataGridView.EndEdit()



    Mit welchem Befehl kann man das DataGridView zwingen, das Editieren zu beenden - sodass alle Zellen gespeichert werden?
    was soll das .Refresh()?

    Lösch das mal, und wenns dadurch nicht schlimmer wird, dann lass es in Zukunft weg.

    (die Leute schreiben manchmal einen Müll in ihren Code (meist iwelche "Tipps" aussm INet), und weil nicht verstehen, gammelt der Müll dann in alle Ewigkeit weiter drin rum)




    ansonsten probier auch mal

    VB.NET-Quellcode

    1. Me.Validate
    2. DGV.EndEdit
    3. BindingSource.EndEdit
    4. ElementeTableAdapter.Update(ProjektDataSet.elemente)
    in dieser Reihenfolge.
    und wenn klappt alles wieder entfernen, was zum klappen nix beiträgt.

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