首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从数据库中删除选定的DataGridView行?

问如何从数据库中删除选定的DataGridView行?
EN

Stack Overflow用户
提问于 2019-04-04 18:05:03
回答 2查看 81关注 0票数 0

我有一个带有DataGridView的Windows Forms表单。DataGridView有DataGridViewButtonColumn,而我有一个数据库(id带有自动增量)。

我可以把它从DataGridView中删除。

代码语言:javascript
复制
private void dgv_CellContentClick(object sender, DataGridViewCellEventArgs e) {
   if (e.ColumnIndex == Delete.Index) {
      dgv.Rows.Remove(dgv.Rows[e.RowIndex]);
   }
}

如何将其从数据库中删除?

EN

回答 2

Stack Overflow用户

发布于 2019-04-04 18:27:32

您应该将数据库的唯一id设置为单元格按钮的commandArgument,当您调用delete命令时,只需传递该id即可从数据库中删除该记录。

代码语言:javascript
复制
<asp:Button ID="btnCellDelete" runat="server" CommandArgument = "<%# Eval("DB_ID")%>" Text="Delete Row" />

后台取值:

代码语言:javascript
复制
var item = (Button)e.Row.DataItem;
var dbID  = item.CommandArgument.ToStrng();

你也可以在你的按钮点击事件上执行数据库删除。

票数 0
EN

Stack Overflow用户

发布于 2019-04-05 21:38:43

您可以使用SQL查询将其从数据库中删除。获取一个datagridview selected items并运行一个删除查询,如下所示:

代码语言:javascript
复制
int id= this.dataGridView1.SelectedItems[0].Text;

con.Open();
cmd.Connection = con;
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@id", id);
cmd.CommandText = "delete from data where id=@id";
cmd.ExecuteNonQuery();

我不知道你使用的是哪种方法,但你可以像这样用LINQ删除它:

代码语言:javascript
复制
Product deleteProduct = northWind.Products.First(u => u.ProductID == id);

northWind.Products.DeleteOnSubmit(deleteProduct);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55513204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档