将DataGridView中的数据填充到C#中的TextBox中

时间:2017-01-31 18:25:16

标签: c# datagridview

因此,我尝试通过点击datagridview中的一行,将数据从textbox加载到datagridview

我现在有这个:

    private void dataGridView1_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
    {
        try
        {
            DataGridViewRow dr = dataGridView1.SelectedRows[0];
            this.Hide();
            frmPrincipal frm = new frmPrincipal();

            frm.txtCarga.Text = dr.Cells[0].Value.ToString();

            frm.txtCarga.Focus();
            frm.txtCarga.SelectAll();
        }
        catch (Exception ex)
        {
            MessageBox.Show("Erro\nDetalhes: " + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

但是因为我没有frm.Show()它没有显示。基本上我按F1和另一个带有datagridview节目的表格,然后我会点击该行将值放入textbox。但它不起作用。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

您将更改dataGridFrom以包含您设置的公共属性,并可在关闭后从原始调用表单中调用。

public string dataValue = "";

private void dataGridView1_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
    try
    {
        DataGridViewRow dr = dataGridView1.SelectedRows[0];
        dataValue = dr.Cells[0].Value.ToString();
        this.Close();
    }
    catch (Exception ex)
    {
        MessageBox.Show("Erro\nDetalhes: " + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
}

在原始形式中,您有类似

的地方
dataGridFrom.Show();

您想要将其更改为

dataGridFrom.ShowDialog();

这会在等待此dataGridform关闭时暂停其他表单。在那之后你想要添加(显示上一行帮助)

dataGridForm.ShowDialog();
this.txtCarga.Text = dataGridFrom.dataValue;

这将关闭表单并将文本框更新为您想要的内容。你也可以做Show(),但你需要创建一个我认为的事件,这样会容易得多。