Zeile aus GridView löschen



  • Hallo,
    ich möchte, dass beim Klick auf einen Button innerhalb eines DataGridViews (nicht datengebunden) die entsprechende Zeile gelöscht/entfernt wird.

    Hier mal mein Versuch, leider werden aber alle Zeilen, die aktuell im DataGridView sind, entfernt. 😕

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                string headerText = dataGridView1.Columns[e.ColumnIndex].HeaderText;
                if (headerText.Equals("Delete"))
                {
                    DataGridViewRow row = dataGridView1.Rows[e.RowIndex];
                    dataGridView1.Rows.Remove(row);
                }
            }
    

    Irgendwie stehe ich auf dem Schlauch ... was muss ich ändern, damit nur eine (die geklickte) Zeile gelöscht wird??



  • Habe deinen Code bei mir getestet: Funkioniert einwandfrei und löscht immer nur die angeklickte Zeile.

    Edit: Rechtschreibung



  • Ich weiß nicht weshalb, aber für Funktion dataGridView1_CellClick wird nicht - ich ich dachte - nur einmal beim Klick aufgerufen, sondern wenn die Funktion das erste Mal durchgelaufen ist, wird wieder dataGridView1_CellClick aufgerufen.
    Weiß jemand warum? Und wie schaffe ich es dabei, dass nur eine Zeile entfernt wird?



  • Wie gesagt: Das was du bisher hier geschrieben hast ist richtig.

    Aber ohne mehr Infos kann hier jeder nur raten! Falsche Ereignisse gesetzt?


Anmelden zum Antworten