Eine Zeile eines DataGridViews löschen

Tombaman

Grünschnabel
Hallo Gemeinde,

ich spiele hin und wieder ein bisschen mit VC# herum und möchte über ein DataGridView Daten manuell eingeben lassen. Beim Verlassen der Zeile soll geprüft werden, ob es einen gleichen Eintrag schon gibt, was auch tadellos funktioniert. Das Problem besteht daran, dass bei Bestehen eines doppelten Eintrages die Zeile automatisch wieder gelöscht werden soll. Grundsätzlich sollte das mit DataGridView.Rows.Remove/RemoveAt funktionieren. Allerdings dürfen beide Methoden aus bestimmten Eventhandlern nicht aufgerufen werden unter anderem auch aus RowLeave() heraus eben nicht.

Mit Hilfe eines extra Buttons funktioniert es auch, aber eben nicht so, wie ich es gerne hätte.

Hat jemand eine Idee, wie man das elegant lösen kann?
 
Hallo,

versuchs mal mit einem anderen Event. Wie z. B. mit dem RowStateChanged-Event. Das dürfte auch immer auftreten, wenn eine Zeile verlassen wird. Als Eventdaten kannst du den Row-Index und den neuen Status abrufen. Im Event musst du dann zuerst prüfen, ob das event gerade aufgerufen wurde, weil eine Row verlassen wurde oder nicht, da das Event auch bei anderen Änderungen des Zustandes aufgerufen wird.
Hoffe du weißt was ich meine.

Gruß,
warcraft9105
 

Neue Beiträge

Zurück