关于MDI窗体刷新子窗体问题 我在mdi中添加treeview 功能,在节点上实现导入数据功能,我想在完成导入数据后触发 子窗体上的Gridview数据刷新,来完成显示功能,有什么好办法,谢谢,我用委托一直没有实现,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 已数据库为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;} } 呵呵,我要的不是创建数的例子,我是在点击节点导入数据后,重新加载一下子窗体中显示数据的窗体,或都可以理解成在MDI中菜单中添加一个刷新按钮,来重新载入子窗体中gridview数据的显示 呵呵,我要的不是创建数的例子,我是在点击节点导入数据后,重新加载一下子窗体中显示数据的窗体,或都可以理解成在MDI中菜单中添加一个刷新按钮,来重新载入子窗体中gridview数据的显示 数据导入完成后,检索当前MDI活动的子窗体是不是你需要的,如果不是循环全部的子窗体,找到需要的,激活它,否则打开新的。你可以通过子窗口Form对象,调用该窗体的公共方法,子窗体需要有一个public方法用来显示数据 我现在就是在导入数据成功后调用子窗体中的重新绑定数据方法,没什么反应,我用的是mschart显示数据,必须关闭后在打开才可以 是不是数据库连接没有被正常关闭?导出后强行dispose下数据库连接看看,另外强行将子窗体的datasource设置为null 绑定数据后,执行:Application.DoEvents()试试看 public class MdiForm{ public event EventHandler ImportEnd; void 导入数据方法() { ..... if(ImportEnd!=null) { ImportEnd(this,null); } }}public class ChildForm{ public ChildForm(MdiForm form) { from.ImportEnd += ............... }} 您写的这个方式我测过了,不行,数据肯定是能读出来,就不知道为什么msChart没有更新 能不能获得PictureBox的缩放比例 正则表达式高手请帮忙!! C# textbox提示问题 请教,C#使用Socket通信的安全性问题! C#请教高手!!! 如何将datatable中某一列数绑定到GridView表头上? 熟悉c#网络通信的请看,c/s模式,限制客户端用户数 [提问]请问以下报错的解决方法 请问remoting中代理类能否在构造函数中加参数,又如何调用呢,谢谢 标识符相关的错误 C# 实现文件下载的问题。 yield return疑问
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;}
}
Application.DoEvents()试试看
public event EventHandler ImportEnd; void 导入数据方法()
{
.....
if(ImportEnd!=null)
{
ImportEnd(this,null);
}
}
}public class ChildForm
{
public ChildForm(MdiForm form)
{
from.ImportEnd += ...............
}
}
您写的这个方式我测过了,不行,数据肯定是能读出来,就不知道为什么msChart
没有更新