收录日期:2020/10/31 01:15:29 时间:2016/07/25 21:21:23 标签:C#
是这样的,Treeview里有成千上万个节点,我是直接从数据库读取节点信息,但是一开始启动窗体的时候我只是加载前面的2层节点,当点击一个节点的时候才进行该节点子节点的加载。然后我想,如果一个节点下面有1000个节点,每次展开该节点都得频繁的读取数据库,这样不利于性能的提高。如果可以记得哪个节点展开过,那么下次再打开这个节点就不需要从数据库读取了,如果是第一次展开这个节点那么就从数据库读取,不知道如何实现?请赐教,谢谢。
展开过的 已经有节点了  在查询数据库前判断 是不是有子节点  如果有 就不用再查了吧 
在节点的Tag属性中记录
先理解下缓存机制
这么多节点,用户体验是否存在问题
如果每次点开都要读数据库,自己写一个List记录,然后点击的时候判断,如果在List中,直接读取出来
引用 2 楼 jointan 的回复:
在节点的Tag属性中记录



可以详细一些嘛?谢谢。
引用 3 楼 wuyq11 的回复:
先理解下缓存机制
这么多节点,用户体验是否存在问题


其实已经考虑到用户体验了。窗体启动我只加载前面2层,然后用户点击再展开点击节点~··而不是全部一下子读取所有节点信息
 if (e.Node.Tag == null)
            {
                //加载子节点
                e.Node.Tag = 0;
            }

eclipse + cdt 菜鸟 提问 捕鱼和分鱼问题 谁有用过城市通这个源码? 论策谈论坛营销的难题所在 继续散分,继续存在@2009-08-17 eclipse + cdt菜鸟 提问 c# winfrom 水晶报表横向显示数据 密钥库无法装入 request在超链接中失效的问题 路过散分,以示存在 @2009-08-17 2个月左右的私活,谁有时间? addEventListener支持的问题 求:C#简单编写计算器代码 Linux下Eclipse编译报错 日历输出有错误的问题? 想为自己的网站建立邮件系统怎么弄 密钥库无法装入 js怎么获取textarea的bottom高度值 Java生成exe文件 想问各位高手有没有这样一款小软件--资料搜索 在C#中获取HTML的table中Label的值 为什么System Process 这个pid为0的进程会访问远程主机? 请问VB.NET在查询ORACLE数据库时的问题 关于richtextbox如何循环读出数据库中的图片 [转贴]从医学角度看老婆——老婆的使用说明 foreach()的用法问题 NET编程动软.Net代码生成器.rar skn文件怎么打开 子窗体随主窗体一起放大缩小问题 请大侠们解释下?