[英]C# delete a single row in an SQL bound datagridview
I have attempted many solutions that state only one row is deleted but in my VS2017 C# from the selected row to the end of the DataGridView all rows are deleted. 我尝试了许多解决方案,其中仅声明删除了一行,但是在我的VS2017 C#中,从所选行到DataGridView的末尾,所有行均被删除。 If I have 5 rows and I delete the 4th row, both the 4th and 5th rows are deleted.
如果我有5行并且删除了第4行,则第4和第5行都将被删除。 I can add rows with no problems and I can drop the table and create the table but deleting a single row of data seems not doable.
我可以毫无问题地添加行,也可以删除表并创建表,但是删除单行数据似乎不可行。
Please help, I've been at this for a few days... 请帮忙,我已经来这几天了...
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" );
}
}
You can call drToDelete.Delete()
, then update dataset by calling dbDataSet.MyTable.AcceptChanges();
您可以调用
drToDelete.Delete()
,然后通过调用dbDataSet.MyTable.AcceptChanges();
更新数据集dbDataSet.MyTable.AcceptChanges();
Or you can just call: 或者您可以致电:
dbDataSet.MyTable.Rows.RemoveAt(dbDataSetBindingSource.Position);
Hope this helps. 希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.