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

时间:2013-03-14 06:59:35

标签: c# winforms

我试图将数据从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未显示,这意味着存在错误。我该怎么解决这个问题? :)

3 个答案:

答案 0 :(得分:1)

以下是任何选定单元格的示例:

窗体2:

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();

通过这种代码安静,您可以从文本框中的任何选定单元格中获取文本。

希望它对你有所帮助。

答案 1 :(得分:0)

使用自己直接的文本框

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

答案 2 :(得分:0)

首先,在第二个表单上创建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;