今天遇到了个问题,请各位大虾指点一二:
一个子控件,用来向数据表中添加记录。它的父控件负责来显示数据。
怎么样作才能在自控件的事件提交成功后,直接刷新父控件的 datagrid ..

解决方案 »

  1.   

    在子控件里定义一个AddRecordsEnd事件,子控件添加记录完成后调用这个事件,父控件用刷新代码来实现这个事件。参考设计模式里的观察者模式
      

  2.   

    public delegate void EventHandler(Object sender, EventArgs e);public class childControl
    {
          //定义AddRecordsEnd事件
          public event EventHandler AddRecordsEnd;      public void AddRecords()
          {
              //向数据表中添加记录代码           //添加完成后调用AddRecordsEnd事件
              if (AddRecordsEnd != null)
              {
                 AddRecordsEnd(this, new EventArgs());
              }
          }
    }public class parentControl
    {
         private childControl m_child;
        
         public parentControl()
         {
               m_child = new childControl();
          
             //实现子控件的AddRecordsEnd事件
              m_child.AddRecordsEnd += new EventHandler(SetDataToDataGrid);
          }     //刷新父控件的 datagrid 
         private void SetDataToDataGrid(Object sender, EventArgs e)
         {
         }
    }
      

  3.   

    谢谢大虾,正在研究中。这些代码都是子控件的code码?
    还是那个parentcontrol是在父控件当中的?
    private void SetDataToDataGrid(Object sender, EventArgs e)
    这个地方就是要把父控件中的数据绑定再写一次?
      

  4.   

    提示说我是“JIT调试失败”。