C# 在一个表单中添加详细信息,详细信息将在另一个表单中更新

C# 在一个表单中添加详细信息,详细信息将在另一个表单中更新,c#,.net,winforms,datagridview,C#,.net,Winforms,Datagridview,我有两张表格。。form1和form2在form1中我有三列的gridview,在form2中我有两个按钮一个是add按钮,第二个是update按钮,我有三个文本框 我已经这样做了,如果我们单击表格1中的任何网格视图列,那么表格2将显示文本框,并填充网格视图行值 现在我需要使用表单2中的add按钮向gridview添加另一行。。因此,当我填写文本框并单击“添加”按钮时,表格2将关闭,表格1网格视图将自动更新这些详细信息 我正在使用winforms应用程序和linq to实体来执行数据库操作 有什

我有两张表格。。form1和form2在form1中我有三列的gridview,在form2中我有两个按钮一个是add按钮,第二个是update按钮,我有三个文本框

我已经这样做了,如果我们单击表格1中的任何网格视图列,那么表格2将显示文本框,并填充网格视图行值

现在我需要使用表单2中的add按钮向gridview添加另一行。。因此,当我填写文本框并单击“添加”按钮时,表格2将关闭,表格1网格视图将自动更新这些详细信息

我正在使用winforms应用程序和linq to实体来执行数据库操作


有什么想法吗。。。。为此…

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

  • 您需要为“添加”按钮创建一个单击事件,以将新记录添加到数据库中
  • 添加记录后,您可以关闭表单,并在表单关闭时刷新表单1中的数据网格
  • 我在我的几个应用程序中做了类似的事情。在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
        }
    
    }
    

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

  • 您需要为“添加”按钮创建一个单击事件,以将新记录添加到数据库中
  • 添加记录后,您可以关闭表单,并在表单关闭时刷新表单1中的数据网格
  • 我在我的几个应用程序中做了类似的事情。在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
        }
    
    }
    

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

    有关事件实现的教程,您可以在此处找到:


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

    有关事件实现的教程,您可以在此处找到:


    看起来很尴尬,除非我没有得到什么;你为什么需要两张表格?我假设这是一个MDI应用程序,不是吗?使用1表单和拆分器有什么问题,或者将表单拆分为两个面板,并根据需要隐藏“表单2”?@gangelo它不是mdi应用程序,我需要两个表单。。喜欢电子商务应用,所以。。如果您点击任何一个购物产品图片,那么另一个表单将打开特定的购物产品…以及详细信息。。我需要这样的东西…看起来很尴尬,除非我没有得到什么;你为什么需要两张表格?我假设这是一个MDI应用程序,不是吗?使用1表单和拆分器有什么问题,或者将表单拆分为两个面板,并根据需要隐藏“表单2”?@gangelo它不是mdi应用程序,我需要两个表单。。喜欢电子商务应用,所以。。如果您点击任何一个购物产品图片,那么另一个表单将打开特定的购物产品…以及详细信息。。我需要这样的东西…哦,好的。。我是否需要为form2添加click事件处理程序,这样当我单击add按钮时,它将自动更新form1中的gridview。。。这是对的吗???哦,好的。。我是否需要为form2添加click事件处理程序,这样当我单击add按钮时,它将自动更新form1中的gridview。。。这是对的吗???从手机上写,所以不是现在,但是跟随链接你会发现很多。从手机上写,所以不是现在,但是跟随链接你会发现很多。