Ich stehe mit diesem Problem von mir fest und es wird eine große Hilfe sein, wenn jemand das löst
Problem für mich
Was ich versuche zu tun ist:
1) Initialisieren Sie eine DataTable-Datentabelle im Formularladeereignis und weisen Sie ihre Standardansicht einem
zudatagridview dgvresult
2) Auf Knopfdruck starte einen STA-Thread (ich arbeite gerade mit WatIN IE, also dem
muss den Thread STA machen), der eine Methode aufruft, die eine identische DataTable
erstelltdt als Datentabelle, die in Schritt 1 erstellt wurde, und fügt dieser Datentabelle 300 Zeilen hinzu.
3) ruft einen Delegaten auf, der dieses dt mit der Datentabelle zusammenführt und somit das dgv-Ergebnis aktualisiert Nun, hier ist mein Problem:
Hier ist das Code-Snippet für die Schritte, die ich gerade beschrieben habe:
%Vor%/// frmmain code
%Vor%Jetzt tritt das Problem auf, wenn ich viele Zeilen in datagridview habe (nehmen wir 1000 an)
Wenn ich jetzt in der UI nichts mit datagridview mache, funktioniert dieser Code fehlerfrei
Aber wenn ich die datgridview scrollen lasse, wenn die bind-Methode aufgerufen wird, gibt die Anwendung einen Fehler ab und wird nur beendet, weil ich das datgridview (oder vielleicht aufgrund eines Fehlers beim Aufrufen der datagridview) nicht aktualisieren konnte
Hier ist der Fehler: - Wenn ich die exe ausführe, bekomme ich das: -
Nicht behandelte Ausnahme ist in Ihrer Anwendung aufgetreten.
Objektverweis nicht auf ein Objekt gesetzt.
%Vor% Ich habe es über den VS überprüft, es gibt diesen Fehler in Program.cs in dieser Zeile: - Application.Run(new frmMain())
;
Wie umgehen Sie dieses Problem?
Jede Hilfe wird geschätzt. Danke:)
Tags und Links c# multithreading datagridview delegates watin