【问题标题】:C# DataGridView refresh after insert插入后 C# DataGridView 刷新
【发布时间】:2013-09-04 21:36:58
【问题描述】:

我有表单 A,上面是 DataGridView 和一个按钮。点击按钮后,新表单,表单 B 打开。

在表单 B 上,我有两个文本框和更新按钮。单击该按钮时,数据将插入数据库中。表格 B 已关闭。

如何更新 DataGridView 以获取新数据。无法从表单 B 访问。

【问题讨论】:

    标签: c# datagridview refresh


    【解决方案1】:

    您好在Form B构造函数中给Form A或创建后添加它,您需要在关闭Form之前更新网格。

    第二种方法将数据放在表单A中的字段中,然后在关闭更新网格后等待表单B关闭。

    【讨论】:

      【解决方案2】:

      ShowDialog form B 并在 InsertButton Click 后返回 DialogResult,在 From b 调用后检查,如果 DialogResult 为 Yes 重新绑定 DataGridView (RefreshBindings)

      //in Form A
      private void btnOpenFromB_Click(sender,event)
      {
      FormB B =new FormB();
      if(B.ShowDialog()==DilogResult.Yes)
         //Call RefreshMethod of DG
      }
      
      
      //In Form B
       //in Constructor
      public FromB()
      {
         initilizeComponents();
         DialogResult=DialogResult.No;
      }
      //In Insert Button Click
      private void InserClick(sender,event)
      {
          if(Checking()==true)
           { 
              //Insert Operations
              DialogResult=DilogResult.Yes;
              this.Close();
            }
      }
      

      【讨论】:

      • 您说:“我有表单 A,上面是 DataGridView 和一个按钮。单击按钮后,新表单,表单 B 打开”,将您的 FormB 调用替换为上面的“FormB B =new FormB (); if(B.ShowDialog()==DilogResult.Yes) //在FORM A中调用DGin FormA的RefreshMethod"
      • 很好的解决方案,但还有更优雅的解决方案吗?
      • 这种方式既简单又确定,但可能是参数传递给构造函数,或者使用来自A的公共变量并在Form B中使用它来确定插入操作。但复杂且数据变更风险高。
      猜你喜欢
      • 2015-06-23
      • 1970-01-01
      • 2012-04-27
      • 1970-01-01
      • 2013-07-03
      • 1970-01-01
      • 2016-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多