Löschen von mehreren Zeilen im DataGridView (Abfrage vor Löschen)

  • VB.NET
  • .NET (FX) 4.0

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von tragl.

    Löschen von mehreren Zeilen im DataGridView (Abfrage vor Löschen)

    Servus.

    Ich hätte gerne bei meinen DGV's eine Abfrage, ob wirklich gelöscht werden soll. (User drückt "Entf")
    Klappt auch mit folgendem Code ganz gut, problematisch wird's wenn das mehrere Zeilen sind, dann kommt für jede Zeile die Abfrage.
    Kann man das umgehen / elegant lösen mit nur einer einmaligen Abfrage für egal wieviele Zeilen?

    VB.NET-Quellcode

    1. Private Sub dgv_UserDeletingRow(sender As Object, e As DataGridViewRowCancelEventArgs) Handles dgv.UserDeletingRow
    2. e.Cancel = True
    3. If msgQuestionWarning("Die markierten Zeilen werden endgültig gelöscht, fortfahren?") = DialogResult.Yes Then
    4. e.Row.DataGridView.Rows.Remove(e.Row)
    5. End If
    6. End Sub

    "Na, wie ist das Wetter bei dir?"
    "Caps Lock."
    "Hä?"
    "Shift ohne Ende!" :thumbsup:
    Du könntest stattdessen mit KeyDown arbeiten:

    VB.NET-Quellcode

    1. Private Sub DataGridView1_KeyDown(sender As Object, e As KeyEventArgs) Handles DataGridView1.KeyDown
    2. If e.KeyCode <> Keys.Delete Then Return
    3. e.Handled = MessageBox.Show("Die markierten Zeilen werden endgültig gelöscht, fortfahren?", Nothing, MessageBoxButtons.YesNo) = DialogResult.No
    4. End Sub

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.