Hallo,
ich kämpfe mich gerade durch ein Problem beim asynchronen Löschen von Daten. Ich verstehe nicht was da genau passiert.
ich habe ein typisches Konstrukt, DataTable an BindingSource an DGV.
In
Button2 läuft so erstmal auch.
Mache ich ihn aber asynchron, dann feuert das RowPrePaint-Event des DGVs, und rennt dabei in einen Fehler, weil beim Clearen ja Daten gelöscht werden. ListChangedEvents der BindingSource werden deaktiviert.
Bevor ich nun RemoveHandler auf den Eventhandler des RowPrePaint-Events haue, würde ich gerne verstehen was da passiert.
Eigentlich liegt genau dasselbe Problem bei Button1 vor, da feuert auch das RowPrePaint-Event, nur muss man sich ziemlich verrenken um dabei Fehler zu provozieren.
Im synchronen Fall kann der Eventhandler ja nicht laufen bevor die Aktualisierung abgeschlossen ist, weshalb es dann auch keine Problem gibt. Aber der Auslöser dieses Events ist mir nicht klar.
Ich hab es auf
Viele Grüße
ich kämpfe mich gerade durch ein Problem beim asynchronen Löschen von Daten. Ich verstehe nicht was da genau passiert.
ich habe ein typisches Konstrukt, DataTable an BindingSource an DGV.
VB.NET-Quellcode
In
DataUpdate
wird die Tabelle gefüllt. Button1 läuft an sich ansynchron und auch mehrmals hintereinander ohne Probleme.Button2 läuft so erstmal auch.
Mache ich ihn aber asynchron, dann feuert das RowPrePaint-Event des DGVs, und rennt dabei in einen Fehler, weil beim Clearen ja Daten gelöscht werden. ListChangedEvents der BindingSource werden deaktiviert.
Bevor ich nun RemoveHandler auf den Eventhandler des RowPrePaint-Events haue, würde ich gerne verstehen was da passiert.
Eigentlich liegt genau dasselbe Problem bei Button1 vor, da feuert auch das RowPrePaint-Event, nur muss man sich ziemlich verrenken um dabei Fehler zu provozieren.
Im synchronen Fall kann der Eventhandler ja nicht laufen bevor die Aktualisierung abgeschlossen ist, weshalb es dann auch keine Problem gibt. Aber der Auslöser dieses Events ist mir nicht klar.
Ich hab es auf
SuspendBinding
in der DisableGUI
zurückgeführt. Aber das ist ja eigentlich genau warum ich SuspendBinding aufrufe, damit solche Sachen nicht passieren.Viele Grüße
Dieser Beitrag wurde bereits 9 mal editiert, zuletzt von „Haudruferzappeltnoch“ ()