C#-BindingSource删除当前

C#-BindingSource删除当前,c#,C#,我有一个c#windows窗体应用程序,它有一个连接到sql server视图的DataGridView和一些连接到sql server表的文本框。 现在我想从DataGridView中删除一个项,但是当我使用 tbl_BindingSource.RemoveCurrent(); 它将删除我添加到数据库中的最后一项,而不是选定项。 如何从DataGridView中删除所选项目? 请帮忙 tbl_BindingSource.RemoveCurrent(); tbl_TableAdapter.Up

我有一个c#windows窗体应用程序,它有一个连接到sql server视图的DataGridView和一些连接到sql server表的文本框。 现在我想从DataGridView中删除一个项,但是当我使用

tbl_BindingSource.RemoveCurrent();
它将删除我添加到数据库中的最后一项,而不是选定项。 如何从DataGridView中删除所选项目? 请帮忙

tbl_BindingSource.RemoveCurrent();
tbl_TableAdapter.Update(ds.tbl);
view_showTableAdapter.Fill(ds.view_show);
view_showDataGridView.Refresh();
编辑:

我找不到使用BindingSource进行删除的方法。 所以我用了这个:

    DSet.tbl_Row row = ds.tbl.FindById 
    (view_showDataGridView.SelectedRows[0].Cells[0].Value.ToString());

    int indexRow = ds.tbl.Rows.IndexOf(row);
    ds.tbl.Rows[indexRow].Delete();

    tbl_TableAdapter.Update(ds.tbl);
    view_showTableAdapter.Fill(ds.view_show);
    view_showDataGridView.Refresh();

如果在调用
RemoveCurrent()
之前查看
Current
属性,会显示什么?感谢您的建议。我使用了MessageBox.show(tbl_cdBindingSource.Current.ToString());它显示了System.Data.DataRowView我建议使用调试器进行查看,这样您就可以看到
DataRowView
中的内容。(或者你可以从中记录一个特定的值。)关键是看
Current
是否引用了你希望删除的选定值。很抱歉,我是C#的新手。现在我为行has current设置了一个断点,我看到选中的行是我添加到数据库的最后一行,而不是选中的行,所以这似乎是目前需要重点关注的事情-我自己对数据绑定不太了解,但您应该研究如何将“当前”行设置为“选中”行。您可能需要在某处设置一个属性。