我在mdi中添加treeview 功能,在节点上实现导入数据功能,我想在完成导入数据后触发 子窗体上的Gridview数据刷新,来完成显示功能,有什么好办法,谢谢,我用委托一直没有实现,谢谢

解决方案 »

  1.   

    已数据库为student为例:
     public FormDataSelect()
            {
                InitializeComponent();
                IniTreeView();//初始化树
            }
     private void IniTreeView()
            {
                #region 初始化编号  
                string sql = String.Format("select Id,Name from student order by Name");
                DataTable dt = DataBaseService.ExecOpenSql(sql);//连接数据库的方法,很简单的
                TreeNode tn = treeView1.Nodes.Add("按账户查看");//添加的treeView1放在panel上
                for (int i = 0; i < dt.Rows.Count;i++ )
                {
                    TreeNode tmpNode = new TreeNode();//创建结点
                    tmpNode.Text = dt.Rows[i][1].ToString();//给结点添加每条查询记录的Name                NodeInfo ni=new NodeInfo();
                    ni.NodeSort=0;
                    ni.Id=Convert.ToInt32(dt.Rows[i][0].ToString());                tmpNode.Tag=ni;
                    tn.Nodes.Add(tmpNode);//按  账户查看  的子结点
                }            #endregion
                treeView1.ExpandAll();
            }        /// <summary>
            /// 结点信息
            /// </summary>
            public class NodeInfo
            {
                public int NodeSort{get;set;}
                public int Id{get;set;}
            }
      

  2.   

    呵呵,我要的不是创建数的例子,我是在点击节点导入数据后,重新加载一下子窗体中显示数据的窗体,或都可以理解成在MDI中菜单中添加一个刷新按钮,来重新载入子窗体中gridview数据的显示
      

  3.   

    呵呵,我要的不是创建数的例子,我是在点击节点导入数据后,重新加载一下子窗体中显示数据的窗体,或都可以理解成在MDI中菜单中添加一个刷新按钮,来重新载入子窗体中gridview数据的显示
      

  4.   

    数据导入完成后,检索当前MDI活动的子窗体是不是你需要的,如果不是循环全部的子窗体,找到需要的,激活它,否则打开新的。你可以通过子窗口Form对象,调用该窗体的公共方法,子窗体需要有一个public方法用来显示数据
      

  5.   

    我现在就是在导入数据成功后调用子窗体中的重新绑定数据方法,没什么反应,我用的是mschart显示数据,必须关闭后在打开才可以
      

  6.   

    是不是数据库连接没有被正常关闭?导出后强行dispose下数据库连接看看,另外强行将子窗体的datasource设置为null
      

  7.   

    绑定数据后,执行:
    Application.DoEvents()试试看
      

  8.   

    public class MdiForm{
        public event EventHandler ImportEnd;    void 导入数据方法()
        {
            .....
            if(ImportEnd!=null)
            {
                ImportEnd(this,null);
            }
        }
    }public class ChildForm
    {
        public ChildForm(MdiForm form)
        {
           from.ImportEnd += ...............
        }
    }
      

  9.   


    您写的这个方式我测过了,不行,数据肯定是能读出来,就不知道为什么msChart
    没有更新