简体   繁体   English

使用DatagridviewImageColumn删除DatagridviewRows

[英]Delete DatagridviewRows using DatagridviewImageColumn

I have a DataGridView which is bounded to a DataTable which have a foreign key to another DataTable . 我有一个绑定到一个DataTableDataGridView ,该DataTable具有另一个DataTable的外键。 I added a DatagridViewImageColumn to delete rows from these two DataTable . 我添加了一个DatagridViewImageColumn来从这两个DataTable删除行。 The code I have used is below. 我使用的代码如下。

private void dechargeDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    switch (dechargeDataGridView.Columns[e.ColumnIndex].Name)
    {
        case "delete":

            if (con.State != ConnectionState.Open)
            {
                con.Open();
            }

            SqlCommand deleteDechargeCmd = new SqlCommand("DELETE FROM [Decharge] WHERE NumeroDecharge = @NumDecharge", con);
            deleteDechargeCmd.Parameters.AddWithValue("@NumDecharge", dechargeDataGridView.Rows[e.RowIndex].Cells[0].Value.ToString());


            SqlCommand deleteLigneDCmd = new SqlCommand("DELETE FROM [LigneDecharge] WHERE NumeroDecharge = @Num", con);
            deleteLigneDCmd.Parameters.AddWithValue("@Num", dechargeDataGridView.Rows[e.RowIndex].Cells[0].Value.ToString());


            DialogResult result = MessageBox.Show("Voulez vous supprimer le Decharge de Livraison?", "Confirm product deletion", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
            if (result == DialogResult.Yes)
            {   
                deleteDechargeCmd.ExecuteNonQuery();
                deleteLigneDCmd.ExecuteNonQuery();
                MessageBox.Show("le Decharge de Livraison est supprimé avec succées");
                dechargeDataGridView.Rows.RemoveAt(e.RowIndex);
            }
            else
            {
            }
            con.Close();
            break;
    }
}

This code doesn't give any error. 这段代码没有给出任何错误。 It executed perfectly but in reality no rows is deleted from the two tables. 它执行得很好,但实际上没有从两个表中删除任何行。 I don't know where is the error in this code?? 我不知道此代码中的错误在哪里?

This code seems to be correct, it must works fine, so check the value of the 该代码似乎是正确的,它必须可以正常工作,因此请检查

parameters may be the cell is not 参数可能是单元格不是

dechargeDataGridView.Rows[e.RowIndex].Cells[0].Value.ToString() dechargeDataGridView.Rows [e.RowIndex] .Cells [0] .Value.ToString()

so try to write the column name like this: 所以尝试这样写列名:

dechargeDataGridView.Rows[e.RowIndex].Cells["ColumnName"].Value.ToString() dechargeDataGridView.Rows [e.RowIndex] .Cells [ “的ColumnName”]。Value.ToString()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM