使用文本框值删除DataGridView c#中的行

时间:2015-12-11 11:45:03

标签: c# datagridview mysql-workbench delete-row

我创建了一个datagridview,它从MySQL Workbench数据库中获取所有数据。在这个datagridview下面,我创建了另一个具有相同列的数据网格。为此,我创建了一个复制功能,在从第一个datagridview选择行时,将选定的行复制到第二个datgrid。

然后我创建了文本框,显示在第二个datagridview中选择的行。

我现在要做的就是,从文本框中获取值,在第一个datagridview中匹配,然后在单击“删除”按钮后,从第一个datagridview中删除受尊重的行,并从数据库中删除。

我是c#的新手,所以任何帮助都将不胜感激。 enter image description here

源代码:

gem install capybara

}

3 个答案:

答案 0 :(得分:0)

在删除按钮上单击事件btn_OnDelete()找到gridview索引,然后按行索引查找所有id。 然后将每个gridview行id与文本框项ID进行比较 喜欢:

if(GridView1.Rows.Cell[0].Text == TextBox1.tex)
{
   // Delete Query here
}

与我一起获得完整的解决方案共享代码。 见这里演示链接:CRUD Operation link

答案 1 :(得分:0)

您应该使用以下代码:

<asp:Button ID="delete" runat="server" CommandArgument='<%#Eval("Id") %>'  Text="Delete" />
    private void delete_btn_Click(object sender, EventArgs e)
        {
          //incase you need the row index 
        int rowIndex = ((GridViewRow)((Button)e.CommandSource).NamingContainer).RowIndex;
        int Prod_Id= Convert.ToInt32(e.CommandArgument);
        //followed by your code 
            try
            {
                // Then Compare your Id here in this if condition
                // if (dataGridView1.Rows.Cell[0].Text == TextBox1.tex
                if (Prod_id == Convert.ToInt32(TextBox1.text)) // error on this line.
                {
                     // User Code Here
                }
            }
            catch (System.Exception)
            {
                MessageBox.Show("Not able to Delete");
            }
        }

答案 2 :(得分:0)

请制作如下代码

private void delete_btn_Click(object sender, EventArgs e)
    {
        try
        {
        foreach (GridViewRow row in dataGridView1.Rows) 
        {
          if (row.RowType == DataControlRowType.DataRow)
           {
           if (row.Cell[0].value == TextBox1.tex) 
            {
              //delete opration here for  TextBox1.tex/row.Cell[0].Text(Product_id)
              break;
            }
          }

        }

        }
        catch (System.Exception)
        {
            MessageBox.Show("Not able to Delete");
        }
    }