Ich habe versucht, viele Lösungen, dass nur eine Zeile gelöscht wird aber in meinem VS2017 C# von der ausgewählten Zeile bis zum Ende der DataGridView alle Zeilen gelöscht werden. Wenn ich 5 Zeilen habe und die vierte Zeile lösche, werden sowohl die vierte als auch die fünfte Zeile gelöscht. Ich kann Zeilen ohne Probleme hinzufügen, und ich kann die Tabelle löschen und die Tabelle erstellen, aber das Löschen einer einzelnen Datenzeile scheint nicht möglich.C# lösche eine einzelne Zeile in einer SQL-gebundenen datagridview
Bitte helfen Sie, ich habe für ein paar Tage in diesem gewesen ...
private void DDataTable_UserDeletedRow(object sender, DataGridViewRowEventArgs e)
{
try
{
// Want the last operation to be completed
dbDataSetBindingSource.EndEdit();
//dbTableAdapter.Update(dbDataSet);
if (selectedCellRow > 0)
{
DataRowView drv = (DataRowView)dbDataSetBindingSource.Current;
DataRow drToDelete = drv.Row;
dbDataSet.MyTable.Rows.Remove(drToDelete);
// This removed all remaining rows
// DDataTable.Rows.Remove(this.DDataTable.SelectedRows[ 0 ]);
// This removed all remaining rows
// dbDataSetBindingSource.RemoveCurrent();
// This gave an error "Can't remove items not in the list?
// dbDataSetBindingSource.Remove(selectedRowStr);
dbDataSetBindingSource.EndEdit();
dTableAdapter.Update(dbDataSet);
}
else
MessageBox.Show("Error in delete row, bad index.");
}
catch (Exception ex)
{
// CancelEventArgs myE = new CancelEventArgs();
// DDataTable_Validating(sender, myE);
string myStr = "Error in deleting row\n" + ex.Message;
MessageBox.Show(myStr, "User Delete a Row");
}
}
Danke, drToDelete.Delete() löschte die einzelne Zeile aus der Datenbank (SQL), entfernte aber mehrere Zeilen in der DataDrigView. – CES
Korrektur: drToDelete.Delete entfernt nur die Daten aus dem DataGridView, nicht SQL-Server. Ich bin also am selben Ort. Eine einzelne Zeile kann nicht gleichzeitig aus der SQL-Datenbank und der DataGridView gelöscht werden. – CES