将数据从一个表单的文本框传递到另一个表单的datagridview

时间:2015-04-02 09:56:27

标签: c# winforms datagridview

Form1 NewPage有一个datagridview和两个按钮AddEntry和EditEntry.Form2 AddEntry有6个文本框和ok按钮。 当我单击AddEntry按钮时,form2将打开。当我在文本框中输入一些数据然后单击确定时,它必须添加到form1的datagridview。

我在AddEntry Button后面编写了这段代码。我现在能够从文本框中获取数据。

public void AddEntryBtn_Click(object sender, EventArgs e)
        {
            string x = label4.Text;
            using (var obj_Addentry = new AddEntry(x))
            {
                obj_Addentry.ShowDialog();
            }
            this.Close();
        }

当我单击EditEntry按钮时,行选择的数据将出现在要编辑的文本框中。但问题是,当我单击form2中的ok按钮时,没有任何操作,因为我没有将数据添加到datagridview后面的代码用于将数据添加到datagridview的form2.Code的ok按钮位于form1的AddEntry按钮后面。

我应该写什么来将数据添加到form2的ok按钮后面的datagrid视图而不是将其写在form1的AddEntry按钮后面?

3 个答案:

答案 0 :(得分:0)

需要通过id发送所有文本框值,然后在第2页中使用查询字符串获取值全部使用网格视图中的值。

示例方式: 第1页:

 int ID = Convert.ToInt32(txtID.Text);
        string url = "Page2.aspx?id=" + ID;
        string fullURL = "window.open('" + url + "', '_blank');";
        ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", fullURL, true);    

第2页:

if (!IsPostBack)
        {
            ID = Convert.ToInt32(Request.QueryString["id"]);
            lblid.Text = ID.ToString();
        }

答案 1 :(得分:0)

全局保存您的值并随时随地访问它。 你为它创建了类。

参考此Global variables class

C# - Winforms - Global Variables

答案 2 :(得分:0)

1.在AddEntry表单中写下委托和事件。 2.单击form2 raise事件中的ok按钮 3.在form1 Newpage

中分配事件处理程序

e.g。

public delegate void EditCompletedEvent(List<string> strEditedValues);
public event EditCompletedEvent EditCompleted;

public void OKBtn_Click(object sender, EventArgs e)
{
 if (this.EditCompleted!= null)
                {
                    EditCompleted(listofEditedvalues);
                }
}

//And in form1 assign event handler

public void AddEntryBtn_Click(object sender, EventArgs e)
        {
            string x = label4.Text;
            using (var obj_Addentry = new AddEntry(x))
            {
              obj_Addentry.EditCompleted += 
                   new Form2.EditCompletedEvent(obj_Addentry_EditCompleted)
              obj_Addentry.ShowDialog();
            }
            this.Close();
        }

obj_Addentry_EditCompleted(List<string> Editedvalues)
{
//Write down logic for assignment
}