Wie lösche ich Tabellen-Zeilen aus dem GridView und der Datenbank?

1 Antwort

Schau mal hier rein:

https://stackoverflow.com/questions/17976348/delete-selected-row-in-datagridview-and-also-delete-row-in-database

Du ermittelst den Index / die Indezes für selektierte Zeilen und speicherst diese(n) zwischen. Am besten wäre es, wenn du in dem Grid eine unsichtbare Spalte mit der ID aus der Datenbank hättest. Dann kannst du über den Index die ID herausfinden und dann den Delete zusammenstellen.

Ein Beispiel:

int id = dataGridView1.CurrentCell.RowIndex;
// hier musst du natürlich den richtigen Typ verwenden; // ich bin einfach mal von Uniqueidentifier ausgegangen
string idToDelete = dataGridView1.Rows[i].Id;

// sieht vielleicht etwas kryptisch aus, mit dem Lambda
// Ausdruck, ist aber kürzer, als anderer Code
Kontakte delete = Kontakte.FirstOrDefault(i => i.Id == idToDelete);
context.Remove(delete);
Woher ich das weiß:Studium / Ausbildung – In der Berufsschule habe ich mit C# gearbeitet