我有一个XML的数据文件,怎样让它只在主窗里只加载一次,之后在子窗体里每一次对数据进行操作时就直接操作这个加载好的数据集啊?我以前用的方法是每要操作一次数据都要拿DataSet来读取一次XML数据,觉得这样的方法很麻烦,而且对于大的数据文件来说肯定会加长反应时间.但又不知该如何写如上的这样一个方法,请大家帮帮忙啊!谢谢了啊!
解决方案 »
- 请问 <Text> 什么类型? 怎么定义的? 这一段IDE报错
- C#读写文本文件
- 怎么把查找的DataSet中的数据绑定到dataGridView中?
- 循环执行过程中如何更新窗体控件的属性并实时显示?
- windows程序,这样从绑定dgv里面删除当前行可以吗?
- c# 如何将一个winform窗体嵌入另一个winform窗体(注意是嵌入,两个窗体要在不同的进程中)
- 有谁做过动态控件的动态控件定位的。。给点代码看看???
- asp.net怎么实现登入后在相同的页面显示树形菜单 子节点根据登入权限的不同而不同
- C#关闭线程下的所有子线程
- c#中图片合成打印?
- 实例化Excel.Application出错
- C#中可以直接使用全部的SQL语句吗?
readSchem 加上模式以后,速度会快N倍,
一个公共类的,静态属性 可以为整个程序集所共享,所以,你创建 一个静态的属性就可以了。
public partial class FormMain : Form
{
public static DataSet ds = null;
public FormMain()
{
InitializeComponent();
}
private void FormMain_Load(object sender, EventArgs e)
{
if (null == ds)
{
ds = new DataSet();
ds.ReadXml(@"c:\dsfile.xml");
}
}
}2.子窗体直接调用
public partial class FormSub : Form
{
public FormSub()
{
InitializeComponent();
}
private void FormSub_Load(object sender, EventArgs e)
{
FormMain.ds.Tables[0].Rows.Count;
}
}说明:对于复杂的XML结构,使用System.Xml.XmlDocument解析。我一般把全局内容放在Program.cs里解析。