从datagridview中的数据填充不同表单上的文本框

时间:2016-01-19 10:50:20

标签: c# winforms datagridview

我正在尝试将数据从DataGridView填充到TextBoxes,这些数据位于不同的form上。我可以填充与TextBoxes位于同一表单的DataGridView。我不确定如何引用其他表格? 我的代码:

var value = dgvInfo.Rows[e.RowIndex].Cells["Description"].Value;

if (value != null)
{
    txtDescription.Text = value.ToString();
}

编辑1: 可能重复的问题涉及将数据从一个TextBox传递到另一个DataGridView。在我的问题中,它将数据从TextBox传递到OSError: ./test.so: wrong ELF class: ELFCLASS32

1 个答案:

答案 0 :(得分:1)

Value作为构造函数参数传递给目标表单(例如Form4):

private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
    Form4 fr = new Form4(dgvInfo.Rows[e.RowIndex].Cells["Description"].Value.ToString());
    fr.ShowDialog();
}       

目的地形式:

public Form4(string p)
{
    InitializeComponent();
    txtDescription.Text = p;
}

要将多个值传递给另一个表单,您应该使用List,如下所示:

private void button1_Click(object sender, EventArgs e)
{
    List<string> lst = new List<string>();

    foreach (DataGridViewRow row in dgvInfo.SelectedRows)
    {
        var Value = row.Cells["Description"].Value.ToString();
        if (!string.IsNullOrWhiteSpace(Value))
        {
            lst.Add(Value);
        }
    }
    Form4 fr = new Form4(lst);
    fr.ShowDialog();
}

然后以目的地形式:

public Form4(List<string> p)
{
    InitializeComponent();
    txtDescription.Text = p[0];
    textBox1.Text = p[1];
}