显示从datagridview到其他格式的文本框的值c#.Net

时间:2015-05-29 09:29:50

标签: c# vb.net winforms datagridview textbox

我是C#.Net初学者!

我有2种形式的Mainform和Derogatory形式..

我的datagridview在Mainform中,然后我的文本框是贬义形式。

问题:

如何在Mainform中单击datagridview的单元格后,从Mainform中的datagridview到Derogatory Form中的texthbox显示值?

这是我的代码:!!

中的

private void datagridDero_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    UpdateDerogatory Derogatory = new UpdateDerogatory(ref datagridDero);
    Derogatory.Show();
}

**in updateDerogatory Form**

private void UpdateDerogatory_Load(object sender, EventArgs e)
{
    Mainform main = new Mainform();
    string[] items = new string[main.datagridDero.Columns.Count];
    for (int i = 0; i < main.datagridDero.Columns.Count; i++)
    {
        items[i] = datagridDero[i, datagridDero.CurrentCell.RowIndex].Value.ToString();
    }
    txtfirstname.Text = items[0];
    loadDerogatory();
}

我的问题是updatederogatory形式无法从Mainform调用datagridview(datagridDero)。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

自从我使用Winforms之后已经有一段时间了,但我个人会使用事件:将适当的DataGridView event(在这种情况下,CellClick可能是最相关的)绑定到一个存在于Derogatory Form中的方法。从该方法,您应该能够访问事件信息,这应该允许您获取单元格值,并显示到Derogatory Form中的文本框。

答案 1 :(得分:0)

您可以在单元格点击事件中完成所有这些操作,只需从gridview中获取所需的所有数据,显示第二个表单,将值设置为第二个表单中的值,然后处理第一个表单。或者,如果您不关闭第一个表单,则可以直接从第二个表单中调用它。无论哪种方式都可行,这只是在什么时候可用的问题。

这对您不起作用的原因之一是因为在第二种形式中您正在创建主表单Mainform main = new Mainform(); 的新实例,因此这个新实例没有数据。如果此时表单仍然存在,只需引用表单名称。