Ich habe ein DataGridView mit seiner Datenquelle auf eine generische Liste von benutzerdefinierten Objekten festgelegt. Wenn der Benutzer Werte ändert (in diesem Fall aktiviert/deaktiviert er ein Kontrollkästchen), ändert sich das zugrunde liegende boolesche Feld im Objekt.Wie werden an einer gebundenen DataGridView vorgenommene Änderungen rückgängig gemacht?
Sollte ich eine "Kopie" der Liste für die Bindung erstellen, dann manuell aktualisieren, wenn der Benutzer festlegt, (wenn ja, wie erstellen Sie diese Kopie), oder gibt es eine einfache Möglichkeit, Änderungen an der Datenquelle Rollback .
(Ich bin mit C#)
Ich übergab meine Liste an das Formular, das verbindlich war. (Es ist aus einer XML-Datei aufgebaut). Ich denke du hast meinen Fehler hervorgehoben. Ich muss eine neue Liste erstellen <> Sammlung für die Bindung, (nicht die "Live" verwenden, und Änderungen nur dann, wenn der Benutzer will (klickt auf OK) Vielen Dank. –
Kopieren Sie das Objekt, das Sie senden, um das Formular zu bearbeiten. Implementieren Kopieren Sie den Konstruktor, um eine Kopie des ursprünglichen Objekts zu erstellen, und weisen Sie sie dann dem Anwendungsfall zu oder verwerfen Sie ihn wie folgt: http://stackoverflow.com/a/6569799/384554 – PUG