TreeView作为C#.net中提供的一个非常有用的控件,我们常常拿它做一些诸如“资源管理器”一类的窗口,作为TreeView本身,它默认读取的是XML文件,但是,真正的实际工作中,我们为了程序的灵活性,往往要把它与数据库结合使用。加上C/S中网络的条件,最好的办法就是在服务器端把所需要的东西用存储过程调出来,通过网络一次传到客户端,缓冲到内存(DataSet)中,然后在TreeView中显示出来。
但是,当有大的数据量的时候,我们利用普通的递归算法(参见http://www.microsoft.com/china/community/Column/21.mspx)把所有的数据缓冲到DataSet中是不现实的,因为网络条件的制约,从服务器端读取出来的数据可能很大,网络对传输这么大的数据也是很吃力的。
我们可以这么做:
1、每次只从服务器端读取一级目录的数据。
2、如果该目录下有子节点,则在前面加个加号,或者有个文件夹图标。
3、单击这个目录时加载下一级子节点。
4、重复1、2、3。
程序已经完全实现了。
下载地址:http://download1.youkuaiyun.com/down3/20070603/03100050186.rar
将database文件夹下的mdb和log文件附加到SQL SERVER 2000数据库。