Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Datagridview按钮单击事件未触发_C#_.net_Datagridview - Fatal编程技术网

C# Datagridview按钮单击事件未触发

C# Datagridview按钮单击事件未触发,c#,.net,datagridview,C#,.net,Datagridview,我使用以下代码来填充Gridview。我在末尾添加了两个用于编辑和删除的按钮。挂钩到click事件。。但是在我添加删除之后 按钮点击事件没有触发。我做错了什么 private void BindGrid2() { try { string constr = "Data Source=INSPIRE-1;" + "Initial Catalog=testdatabase;" + "User id=testuser;" +

我使用以下代码来填充Gridview。我在末尾添加了两个用于编辑和删除的按钮。挂钩到click事件。。但是在我添加删除之后 按钮点击事件没有触发。我做错了什么

private void BindGrid2()
{
    try
    {
        string constr = "Data Source=INSPIRE-1;" +
        "Initial Catalog=testdatabase;" +
        "User id=testuser;" +
        "Password=tester;";
        using (SqlConnection con = new SqlConnection(constr))
        {
            string commandText = "SELECT invnumber,itemname,quantity,rate FROM mytable2 where invnumber= @name";
            using (SqlCommand command = new SqlCommand(commandText, con))
            {



                command.Parameters.AddWithValue("@name", text_inv.Text);

                using (SqlDataAdapter sda = new SqlDataAdapter(command))
                {
                    using (DataTable dt = new DataTable())
                    {
                        sda.Fill(dt);
                        dataGridView2.DataSource = dt;
                    }
                }
            }
            if (flag2 == false)
            {

                flag2 = true;
                DataGridViewButtonColumn uninstallButtonColumn = new DataGridViewButtonColumn();
                uninstallButtonColumn.Name = "Edit";
                uninstallButtonColumn.Text = "Edit";
                dataGridView2.Columns.Insert(0, uninstallButtonColumn);
                dataGridView2.Columns[0].DisplayIndex = 4;


                DataGridViewButtonColumn uninstallButtonColumn2 = new DataGridViewButtonColumn();
                uninstallButtonColumn.Name = "Delete";
                uninstallButtonColumn.Text = "Delete";
                dataGridView2.Columns.Insert(5, uninstallButtonColumn2);
                dataGridView2.Columns[5].DisplayIndex = 5;
            }
        }


    }
    catch (Exception error)
    {
        MessageBox.Show(error.Message);
    }
}

void dataGridView2_CellClick(object sender, DataGridViewCellEventArgs e)
{

    var senderGrid = (DataGridView)sender;
    string orderId;
    if (e.ColumnIndex == 4)
    {




        try
        {
            orderId = (string)dataGridView1.SelectedCells[0].OwningRow.Cells[1].Value;

            using (SqlConnection conn = new SqlConnection(constr))
            {

                try
                {
                    conn.Open();
                    SqlDataReader myReader = null;
                    string commandText = "select * from mytable2 where invnumber= @name";
                    SqlCommand command = new SqlCommand(commandText, conn);
                    command.Parameters.AddWithValue("@name", text_inv.Text);
                    myReader = command.ExecuteReader();
                    while (myReader.Read())
                    {
                        text_cname.Text = myReader["cname"].ToString();
                        text_quantity.Text = myReader["quantity"].ToString();
                        text_item.Text = myReader["itemname"].ToString();
                        text_rate.Text = myReader["rate"].ToString();
                        dateTimePicker1.Text = myReader["date"].ToString();
                        // textBox4.Text = myReader["stock"].ToString();


                    }
                }
                catch (Exception err)
                {
                    MessageBox.Show(err.Message);
                }

            }
        }
        catch (Exception error)
        {

        }
    }
    else if (e.ColumnIndex == 5)
    {

        using (SqlConnection conn = new SqlConnection(constr))
        {
            orderId = (string)dataGridView1.SelectedCells[0].OwningRow.Cells[1].Value;
            conn.Open();
            SqlDataReader myReader = null;
            string commandText = "delete from mytable2 where invnumber= @name";
            SqlCommand command = new SqlCommand(commandText, conn);
            command.Parameters.AddWithValue("@name", text_inv.Text);
            myReader = command.ExecuteReader();
        }
        BindGrid2();
    }




}
下面的更正

  • dataGridView2.Columns.Insert(5,卸载按钮column2)
    to
    dataGridView2.Columns.Insert(1,卸载按钮column2)

  • if(e.ColumnIndex==4)
    to
    if(e.ColumnIndex==0)

  • orderId=(字符串)dataGridView1.SelectedCells[0]。OwningRow.Cells[1]。值
    to
    orderId=(字符串)dataGridView1.SelectedCells[0]。OwningRow.Cells[2]。值

  • else if(e.ColumnIndex==5)
    to
    else if(e.ColumnIndex==1)


  • 你解决了吗?错误与上次相同:(