繁体   English   中英

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

[英]Populate data from DataGridView into a TextBox in C#

所以我试图通过单击datagridview的一行将数据从datagridview加载到textbox

我现在有这个:

    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 但这行不通。

我该怎么办?

您将更改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(),但您需要创建一个我认为的事件,这要容易得多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM