如何在c#中通过选择datagridview中的复选框一次删除一个或多个行



通过选择复选框并单击删除按钮,我在删除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中删除带有复选框的行

最新更新