将第1列和第2列中的datagrid值复制到新表单

时间:2013-12-08 18:57:10

标签: c# winforms datagridview

我在Form1中有一个2列的数据网格 - 当我用户双击特定单元格(在两列中的任何一列中)时,我希望将相应行中两列的数据复制到Form2(textBox1和textBox2)。

我该如何做到这一点?

private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
    Form2 Form2 = newForm2();
    Form2.Show()
}

1 个答案:

答案 0 :(得分:1)

使用CurrentRow属性(我假设它们都是字符串):

var selectedRow = dataGridView1.CurrentRow;

var cellOneValue = Convert.ToString(selectedRow.Cells[0].Value);
var cellTwoValue = Convert.ToString(selectedRow.Cells[1].Value);

您还可以使用更易于阅读和维护的列名:

var cellOneValue = Convert.ToString(d.Cells["nameOfYourColumn"].Value);

然后通过公共属性或构造函数本身将其传递给Form2

Form2 form2 = new Form2(cellOneValue, cellTwoValue);

然后以另一种形式接受:

public Form2(string someValue, string anotherValue)
{
    // Do something with passed values... might want to name these better ;)
}