【发布时间】:2017-02-22 08:14:12
【问题描述】:
我在 GridView 中添加了一个删除按钮。但问题是它总是删除第一行。
例如,如果我要删除第二行或第三行,则第一行中的数据将被删除。我只是想让按钮删除它旁边的行:
public void bindgrid()
{
SqlConnection conn = new SqlConnection("cnString");
SqlCommand cmd = new SqlCommand("select Id,Name, from myTable ", conn);
SqlDataAdapter da = new SqlDataAdapter("", conn);
da.SelectCommand = new SqlCommand("select Id,Name, from myTable", conn);
DataSet ds = new DataSet();
da.Fill(ds, "data");
gridview1.DataSource = ds.Tables[0].DefaultView;
gridview1.DataBind();
}
protected void gdview_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int userid = int.Parse(gridview1.DataKeys[0].Value.ToString());
SqlConnection conn = new SqlConnection("cnString");
SqlDataAdapter da = new SqlDataAdapter("", conn);
conn.Open();
da.DeleteCommand = new SqlCommand("delete from myTable where Id=" + userid , conn);
da.DeleteCommand.ExecuteNonQuery();
conn.Close();
bindgrid();
}
【问题讨论】:
-
你需要获取你点击的行索引
-
你应该寻找gridview的选定行,然后获取该行的ID,然后去删除部分。在我看来,你总是在抓取第一行的ID
标签: c# sql wpf gridview ado.net