[英]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.