C# Datagridview按钮单击事件未触发
我使用以下代码来填充Gridview。我在末尾添加了两个用于编辑和删除的按钮。挂钩到click事件。。但是在我添加删除之后 按钮点击事件没有触发。我做错了什么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;" +
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)
todataGridView2.Columns.Insert(1,卸载按钮column2)
if(e.ColumnIndex==4)
toif(e.ColumnIndex==0)
orderId=(字符串)dataGridView1.SelectedCells[0]。OwningRow.Cells[1]。值
toorderId=(字符串)dataGridView1.SelectedCells[0]。OwningRow.Cells[2]。值在两个位置编码>
else if(e.ColumnIndex==5)
toelse if(e.ColumnIndex==1)
你解决了吗?错误与上次相同:(