在与数据网格视图中的数据不同的窗体上填充文本框

本文关键字:数据 窗体 填充 文本 网格 数据网 视图 | 更新日期: 2023-09-27 18:30:53

我正在尝试将数据从DataGridView填充到不同form TextBoxes中。我可以填充与DataGridView形式相同的TextBoxes.我不确定如何引用其他表单?我的代码 :

var value = dgvInfo.Rows[e.RowIndex].Cells["Description"].Value;
if (value != null)
{
    txtDescription.Text = value.ToString();
}

编辑 1:可能的重复问题涉及将数据从一个TextBox传递到另一个。在我的问题中,它是将数据从DataGridView传递到TextBox

在与数据网格视图中的数据不同的窗体上填充文本框

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];
}