Laden...

DataGridView Row löschen abfangen

Erstellt von Kasperdelasopa vor 16 Jahren Letzter Beitrag vor 16 Jahren 2.804 Views
K
Kasperdelasopa Themenstarter:in
118 Beiträge seit 2006
vor 16 Jahren
DataGridView Row löschen abfangen

Hallo,

Ich habe ein DataGridView und habe dem Anwender erlaubt, eine komplette Zeile aus dem GridView zu löschen.

Nun möchte ich es abfangen wenn der Anwender eine Zeile löscht und eine Messagebox öffnen die nochmal nachfragt ob den dieser Datensatz tatsächlich gelöscht werden soll.

Ich habe ein Event gefunden welches aber nur eintritt wenn der Datensatz bereits gelöscht wurde.
Ich möchte es aber abfangen das der Datensatz auch nur dann gelöscht wird wenn der Nutzer in der Messagebox sein Ok gegeben hat.

Gruß

E
111 Beiträge seit 2006
vor 16 Jahren

Hi, versuchs mal hiermit!


DialogResult dr = MessageBox.Show("Wirklich löschen?", Info, MessageBoxButtons.YesNo, MessageBoxIcon.Question);

if (dr == DialogResult.Yes)
{
     // Dein Code zum löschen
}
else
{
    // nix
} 

Hoffe es hat dir geholfen!

Gruß
Echo

K
Kasperdelasopa Themenstarter:in
118 Beiträge seit 2006
vor 16 Jahren

Sorry ich hab mich blöd ausgedrückt.

Das erzeugen der MessageBox und das abfangen des Ergebnisses ist nicht mein Problem.

Vielmehr möchte ich den Event wenn ein Datensatz gelöscht wird abfangen um dies gegebenenfalls zu unterdrücken.

Ich habe nur ein Event gefunden welches erst auftritt wenn der Datensatz bereits gelöscht wurde.
Ich möchte es aber mit einer MessageBox steuern ob der Datensatz gelöscht werden soll.

Gruß

830 Beiträge seit 2005
vor 16 Jahren

Hallo Kasperdelasopa,

der Datensatz wird ja nicht einfach so gelöscht, irgendwas löst das ja aus.
Beispiel: Der User muss zum Löschen einer Zeile einen Button "Löschen" klicken. Also in dem EventHandler removeButton.Click den User Fragen, wenn bestätigt Datensatz löschen.

Also du musst da ansetzen, wo das Löschen vorgenommen wird, nicht danach

Gruss
Friedel

Ohne Ziel ist auch der Weg egal.

K
Kasperdelasopa Themenstarter:in
118 Beiträge seit 2006
vor 16 Jahren

Genau hier ist mein Problem.

Der Anwender kann im DataGridView eine komplette Zeile markieren und diese durch "ENTF" dann löschen.
Aber es gibt leider kein Event welches eintritt wenn eine Zeile gelöscht werden soll.

Ich hatte auch schon überlegt allgemein das drücken der Taste "ENTF" abzufangen, hierzu müsste ich aber wissen ob ich, wenn die Taste gedrückt wurde, mich in einer Zelle befinde oder ob eine ganze Zeile ausgewählt wurde oder ob eine Zeile ausgewählt wurde.

830 Beiträge seit 2005
vor 16 Jahren

Dann ist das dataGridView1.UserDeletingRow-Event das richtige für dich.
Will der User nach Abfrage nicht mehr, e.Cancel = true setzen.

Gruss
Friedel

Ohne Ziel ist auch der Weg egal.

K
Kasperdelasopa Themenstarter:in
118 Beiträge seit 2006
vor 16 Jahren

AHHH,

Scheiße, herzlichen Dank!!

Ich hab einfach nur nicht gründlich genug gesucht!!

Sorry