treeview菜单加载慢的原因有很多。如果确定是节点多引起的问题,可以考虑上面所说的先加载一部分数据。节点如果太多,可以考虑换一个UI设计。如果不确定是节点多引起的问题,那么就要考虑数据库操作,数据库设计和实现代码方面的问题了。这一点在生成无限树(区分目录和节点)时,也很重要。我认为因为节点太多导致速度慢的可能性还是相对小一些的。毕竟既然用treeview,就说明不可能是几百上千的节点(节点太多,用户操作的确是个很大的问题)。如果有这么多,就应该考虑修改UI了。
既然用.NET开发程序,那么教你一招:延迟加载就是用到的时候,再去加载需要的东西那么就可以这样做1.加载第一级的TreeNode节点2.当用户想展开某一TreeNode的时候,如果此节点的子节点没有加载,那么请如同第1条,加载此节点的子节点. 这样就不会因为级数多,导致加载很慢, 其实任何语言都适用,数据量大的时候,最好的选择就是延迟加载
你可以选择分配加载,即先加载父节点类型的数据,然后点击展开按钮的时候再加载子节点的数据。
开始只加载一级节点,当点击某一节点时再加载对应的二级节点,以此类推加载其他级别节点。