Foxtable(狐表)用户栏目专家坐堂 → [求助] 如何实现递归(函数)的问题!(劳烦老六了)


  共有22308人关注过本帖树形打印复制链接

主题:[求助] 如何实现递归(函数)的问题!(劳烦老六了)

帅哥哟,离线,有人找我吗?
贺老六
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/26 18:05:00 [显示全部帖子]

递归虽然有用,但对于foxtable并非必需品。
DataView有一个BuildDataTree方法,可以根据表中数据动态生成一个目录树。
至于无限目录,下面这个帖子的12楼,就有一个例子:

http://www.foxtable.com/dispbbs.asp?boardid=2&id=555&page=&star=2

此外,已经提供了一个eval函数,可以对表达式求值,具体请看帮助。

[此贴子已经被作者于2008-9-26 18:05:36编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
贺老六
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/26 19:47:00 [显示全部帖子]

如果你认真的看过这个帖子,并研究了12楼例子的代码,你就会知道,这是一个无层数限制的目录树。
而不会得出“只是生成目录数据和生成一级目录树”的结论。


 回到顶部
帅哥哟,离线,有人找我吗?
贺老六
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/26 21:21:00 [显示全部帖子]

以下是引用gdlgh在2008-9-26 20:03:00的发言:

呵。还真未研究过!


呵呵,好好看这个这个例子吧。
实际开发软件的时候,除非数据量很小,否则很少会用递归方法生成目录树的。


 回到顶部
帅哥哟,离线,有人找我吗?
贺老六
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/26 21:35:00 [显示全部帖子]

呵呵,代码就是这么简单,别光看目录树窗口的afterload事件代码,这里只是生成第一级目录。
最关键的还在目录树的NodeMouseClick和NodeMouseDoubleClick两个事件的代码,特别是NodeMouseClick事件

可以自己参照着做

 回到顶部
帅哥哟,离线,有人找我吗?
贺老六
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/26 21:55:00 [显示全部帖子]

我没有误解你的意思,实际上绝大多数软件都是用lxl同样的原理来生成目录树,而不是一次生成所有的,包括windows的资源管理器。
这样的效率高很多!

 回到顶部
帅哥哟,离线,有人找我吗?
贺老六
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/26 22:04:00 [显示全部帖子]

如果你不想单击生成,可以将nodemouseclick的代码移到afterselectnode事件中,这样一选择某个节点,就会自动生成其子节点。

 回到顶部
帅哥哟,离线,有人找我吗?
贺老六
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/26 22:11:00 [显示全部帖子]

以下是引用gdlgh在2008-9-26 22:07:00的发言:
呵。。收到!一次生成可做到吗!


在提供自定义函数之前,层数不限的目录树只能这样生成。
不过,有更简单的、更高效的代码,为什么一定要一次生成呢?


 回到顶部
帅哥哟,离线,有人找我吗?
贺老六
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/26 22:21:00 [显示全部帖子]

我们肯定会加入的,但是这个功能对于foxtable这样的软件,其实是个鸡肋!
1、必须有完整vb基础知识的人才能够自定义函数。
2、foxtable这样的软件,需要重用代码的概率并不大。
3、即使不提供自定义函数,用现有的功能,也能间接实现自定义函数。
[此贴子已经被作者于2008-9-26 22:25:17编辑过]

 回到顶部