Ich habe ein einfaches Formular mit Liste als Datenquelle, eine Bindung Quelle gebunden an die Liste, und ein Kombinationsfeld gebunden an die Bindung Quelle mit einigen Feldern bearbeiten, was die bindingSource.Current
ist. Was ich tun möchte, ist, wenn ein bool gesetzt ist, ein Dialog zu öffnen, der fragt, ob sie Änderungen speichern möchten, bevor sie Elemente ändern. Wenn sie nein sagen, möchte ich Folgendes aufrufen CancelEdit()
Wenn ja, möchte ich, dass sie auf dem aktuellen Element bleiben, damit sie auf die Schaltfläche "Speichern" klicken können. Wie kann ich das tun?
Der zweite Teil meiner Frage ist, weil meine unterstrichene Datenquelle eine List<View>
wird CancelEdit()
überhaupt etwas tun? (View ist nur eine Klasse mit string Name
y un List<CustomColumn>
Bearbeiten: Lassen Sie mich auf das, was ich tue, um vielleicht helfen zu erklären, was ich tue, zu erarbeiten. Ich habe eine Liste von View, die an anderer Stelle im Programm aufgezählt wird, um eine DataGridView
. Dieses Menü dient dazu, neue "Ansichten" hinzuzufügen und die Reihenfolge der Spalten in der Ansicht zu ändern (die Ansicht selbst wird dabei nicht bearbeitet). CustomColumn
nur das Hinzufügen von Elementen und das Ändern der Reihenfolge der list<CustomColumn>
). Was ich möchte, ist, dass, wenn jemand auf Abbrechen drückt oder zu einer neuen Ansicht wechselt, indem er das Kombinationsfeld verwendet, ohne zu speichern, alle Änderungen, die er an der List<CustomColumn>