通过选择复选框并单击删除按钮,我在删除DataGridView
中的一行时遇到了麻烦。当我点击删除按钮什么都没有发生,也没有出现,如果有一个错误。
我的代码
SqlConnection cn = new SqlConnection("Data Source=.\SQLEXPRESS; Initial Catalog=DatabaseName;Integrated Security=True");
SqlCommand cmd = new SqlCommand();
SqlDataReader dr;
private void btnDeleteCust_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow item in gridCustomer.Rows)
{
if (bool.Parse(item.Cells[6].Value.ToString()))
{
cn.Open();
cmd.CommandText = "delete from Customer where customerID = '" + item.Cells[0].Value.ToString() + "'";
cmd.ExecuteNonQuery();
cn.Close();
}
}
}
我可以看到您没有检查CheckBox
是否被检查,如下所示:
if(Convert.ToBoolean(row.Cells["checkBoxColumn"].Value) == true)
获取正在检查的CheckBox
的索引或位置以及最后要删除的id。
有关更多信息,请参阅此链接-在DataGridView中删除带有复选框的行