C#删除绑定SQL的datagridview中的一行
我尝试过许多只删除一行的解决方案,但在我的VS2017 C中,从所选行到DataGridView的末尾,所有行都被删除。如果我有5行并且删除了第4行,那么第4行和第5行都会被删除。我可以毫无问题地添加行,也可以删除表并创建表,但删除一行数据似乎不可行 请帮帮我,我已经做了几天了C#删除绑定SQL的datagridview中的一行,c#,sql,datagridview,C#,Sql,Datagridview,我尝试过许多只删除一行的解决方案,但在我的VS2017 C中,从所选行到DataGridView的末尾,所有行都被删除。如果我有5行并且删除了第4行,那么第4行和第5行都会被删除。我可以毫无问题地添加行,也可以删除表并创建表,但删除一行数据似乎不可行 请帮帮我,我已经做了几天了 private void DDataTable_UserDeletedRow( object sender, DataGridViewRowEventArgs e ) { try { // Want th
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" );
}
}
您可以调用
drToDelete.Delete()
,然后通过调用dbDataSet.MyTable.AcceptChanges()更新数据集代码>
或者你可以打电话:
dbDataSet.MyTable.Rows.RemoveAt(dbDataSetBindingSource.Position);
希望这能有所帮助。谢谢,drToDelete.Delete()删除了数据库(SQL)中的一行,但删除了DataDrigView中的几行。更正:drToDelete.Delete只删除DataGridView中的数据,而不是SQL server中的数据。所以我在同一个地方。无法同时从SQL数据库和DataGridView中删除一行。