以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何快速生成大型目录树? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146965) |
||||||||
-- 作者:有点酸 -- 发布时间:2020/3/6 20:53:00 -- 如何快速生成大型目录树? 如果目录树有节点数量非常多,那么可能需较长的时间才能生成, 此时可以考虑动态生成子节点以节省时间。 基本的思路并不复杂: 首先只生成顶层节点,运行过程中每当用户选择某个节点,就判断此节点是否存在子节点,如果不存在,就生成此节点的子节点。 示例一 假定根据客户表的地区、城市、公司名称三列生成目录树: 1、首先在窗口中插入一个目录树,将窗口的AfterLoad事件代码设置为: Dim vals
As
List(Of String) = DataTables("客户").GetValues("地区") 这样打开窗口之后,只生成顶层的地区节点。 2、将目录树的AfterSelectNode事件代码设置为: If e.Node.Level = 0
Then
\'如果是顶级节点,也就是地区节点 示例二 以上示例客户表已经加载所有数据,如果客户表只加载了部分数据,甚至没有加载数据,那么如何生成完整的目录树呢。 1、AfterLoad事件代码改为: Dim vals
As
List(Of String) = DataTables("客户").SQLGetValues("地区") 2、目录树的AfterSelectNode事件代码改为: If e.Node.Level = 0
Then
\'如果是顶级节点,也就是地区节点 参考: SQLGetValues 下面的文件是示例文件,里头有两个例子,分别基于已加载数据(快速目录树)和未加载数据(SQL目录树)生成: 项目文件:
数据文件:
|
||||||||
-- 作者:xxfoxtable -- 发布时间:2020/3/6 21:02:00 -- 感谢分享精品 |
||||||||
-- 作者:Aman -- 发布时间:2020/3/6 21:07:00 -- ding |
||||||||
-- 作者:huangfanzi -- 发布时间:2020/3/6 21:11:00 -- 感谢分享精品 |
||||||||
-- 作者:beijingboat -- 发布时间:2020/3/6 21:17:00 -- 好思路 |
||||||||
-- 作者:HappyFt -- 发布时间:2020/3/6 21:25:00 -- 学习 |
||||||||
-- 作者:wei0769 -- 发布时间:2020/3/6 21:40:00 -- 感谢分享精品 |
||||||||
-- 作者:一丁 -- 发布时间:2020/3/6 22:19:00 -- 思路决定出路 思想决定高度
|
||||||||
-- 作者:程兴刚 -- 发布时间:2020/3/7 0:12:00 -- 思路不错! |
||||||||
-- 作者:裴保民 -- 发布时间:2020/3/7 0:36:00 -- 打不开 [此贴子已经被作者于2020/3/7 0:53:26编辑过]
|