以一种形式添加详细信息,详细信息将以另一种形式更新

时间:2011-08-18 18:50:52

标签: c# .net winforms datagridview

我有两种形式.. form1和form2在form1我有gridview有三列,在form2我有两个按钮一个是添加按钮,第二个是更新按钮,我有三个文本框...

如果我们点击form1中的任何网格视图列,我就会这样做,然后将显示表单2,文本框填充网格视图行值。

现在我需要在表单2中使用此添加按钮向gridview添加另一行..所以当我填充文本框并单击添加按钮时,表单2将被关闭,表单1网格视图将自动更新细节...

我正在使用winforms应用程序并使用linq来进行数据库操作..

任何想法......这样做......

2 个答案:

答案 0 :(得分:1)

在form2中为AddRow声明事件,在form1中订阅该事件,当在form2上单击按钮并且必须添加新行时,form2引发该事件,因此form1处理它并在DataGrid上显示它。

您可以在此处找到事件实施教程:

http://msdn.microsoft.com/en-us/library/aa645739(v=vs.71).aspx

答案 1 :(得分:0)

如果我理解您的问题,您需要执行以下操作:

  1. 您需要为“添加”按钮创建一个点击事件,该事件会将新记录添加到您的数据库中。
  2. 添加记录后,您可以关闭表单,在表单关闭后,您可以刷新Form1中的数据网格。
  3. 我在一些应用程序中做了类似的事情。在Form1上打开Form2时,您可以创建如下内容:

    private void ShowForm2()
    {
        DialogResult addResult = new Form2().ShowDialog();
    
        if (addResult == DialogResult.OK)
        {
            //your code to populate your datagrid
        }
    }
    

    然后在Form2上,单击“添加”按钮

    private void AddRecordButton_Click(object sender, EventArgs e)
    {
        try
        {
           // code to add the record to your database
           //then use the DialogResult   OK
           DialogResult = DialogResult.OK
        }
        catch
        {
           //if it fails set DialogResult to Abort
           DialogResult = DialogResult.Abort
        }
    
    }