将datagridview中选定行的数据显示到文本框中

本文关键字:显示 文本 数据 datagridview | 更新日期: 2023-09-27 18:03:44

我试图显示数据从datagridview到另一种形式的文本框。表单2有文本框。下面是我的代码:

private void btnAddOrder_Click(object sender, EventArgs e)
{
    Add_Order addOrder = new Add_Order();
    addOrder.
}

我试图键入addOrder.textBox1.Text = dtgv_Items.SelectedRows[0].Cells[1].Value.ToString();,但应该自动出现的textBox1没有显示,这意味着有一个错误。我怎么解决这个问题呢?:)

将datagridview中选定行的数据显示到文本框中

下面是一个选定单元格的示例:

Form2:

private string pVal;
//getter and setter
public string PassVal
{
    get { return pVal; }
    set { pVal = value; }
}
//or event that you need
private void Form2_Load(object sender, EventArgs e)
{
    textBox1.Text = pVal;
}

Form1:

Form2 f2 = new Form2();
int selectedCellCount = dataGridView1.GetCellCount(DataGridViewElementStates.Selected);
if (selectedCellCount > 0)
{
    for (int i = 0; i < selectedCellCount; i++)
    {
        int column = dataGridView1.SelectedCells[i].ColumnIndex;
        int row = dataGridView1.SelectedCells[i].RowIndex;
        f2.PassVal = dataGridView1[column, row].Value.ToString();
    }
}
f2.Show();

使用这个平和的代码,您将从文本框中的任何选定单元格中获得文本。

希望对你有所帮助

首先,在第二个表单上创建getter和setter。

private string sampleData = string.Empty;
public string SampleData
{
    get { return sampleData; }
    set { value = sampleData; }
}

那么你可以在你的第一个表单上使用这个:

private void btnAddOrder_Click(object sender, EventArgs e)
{
    Add_Order addOrder = new Add_Order();
    addOrder.SampleData = dtgv_Items.SelectedRows[0].Cells[1].Value.ToString();
}

要查看第二个表单上的结果,使用以下命令:

this.TextBox1.Text = SampleData;

使用自定义文本框

textBox1.Text = dtgv_Items.SelectedRows[0].Cells[1].Value.ToString();