如何将数据从datagridview传输到活动表单?

时间:2018-01-17 18:22:22

标签: c# .net windows

我正在开发GYM桌面应用程序。 这里使用Product Entry表单,我将数据插入数据库表中。当我点击“获取数据”按钮时,所有记录都以不同的形式(Product_List)显示在datagridview中。 现在双击任何特定行(在Product_List表单中)我想在我当前活动的Product_Entry表单中获取该特定行的数据,因此我可以更新或删除数据。 那么如何才能在当前有效的产品报名表中获取该行的数据?

这是关于datagridview中行鼠标double_click的代码:

  private void dataGridView1_MouseDoubleClick(object sender, MouseEventArgs 
 e)
    {

        Product_Entry pe = new Product_Entry();
        pe.textBox1.Text = 
 dataGridView1.CurrentRow.Cells[0].Value.ToString();
        pe.textBox2.Text = 
 dataGridView1.CurrentRow.Cells[1].Value.ToString();
        pe.comboBox1.Text = 
 dataGridView1.CurrentRow.Cells[2].Value.ToString();
        pe.comboBox2.Text = 
 dataGridView1.CurrentRow.Cells[3].Value.ToString();
        pe.textBox3.Text = 
 dataGridView1.CurrentRow.Cells[4].Value.ToString();
        pe.textBox4.Text = 
 dataGridView1.CurrentRow.Cells[5].Value.ToString();
        pe.textBox5.Text = 
 dataGridView1.CurrentRow.Cells[6].Value.ToString();
        pe.textBox6.Text = 
 dataGridView1.CurrentRow.Cells[7].Value.ToString();
        pe.ShowDialog();

    }

Product_Entry Form

Product List Form

1 个答案:

答案 0 :(得分:0)

使用全局变量可以解决这个问题。声明一个全局变量 public static string ProductId= "";形式的datagridview。然后在dataGridView1_MouseDoubleClick事件中设置您的productId

private void dataGridView1_MouseDoubleClick(object sender, MouseEventArgs e)
    {
        ProductId = dataGridView1.CurrentRow.Cells[0].Value.ToString();
        Form2 frm2 = new Form2(); //your second form
        frm2.Show(); 
    }

然后以第二种形式(您要在其中显示值)收到ProductId事件中的Form2_Load,例如

   private void Form2_Load(object sender, EventArgs e)
    {
        label1.Text = Form1.ProductId; //label is your control to show data
    }

像这样,您可以接收第二种形式的所有数据,或者您可以使用database query撰写productid来从database获取数据。更多see this