簡體   English   中英

使用DatagridviewImageColumn刪除DatagridviewRows

[英]Delete DatagridviewRows using DatagridviewImageColumn

我有一個綁定到一個DataTableDataGridView ,該DataTable具有另一個DataTable的外鍵。 我添加了一個DatagridViewImageColumn來從這兩個DataTable刪除行。 我使用的代碼如下。

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;
    }
}

這段代碼沒有給出任何錯誤。 它執行得很好,但實際上沒有從兩個表中刪除任何行。 我不知道此代碼中的錯誤在哪里?

該代碼似乎是正確的,它必須可以正常工作,因此請檢查

參數可能是單元格不是

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

所以嘗試這樣寫列名:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM