Foxtable(狐表)用户栏目专家坐堂 → [求助]目录树为什么在函数中不能使用?


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

主题:[求助]目录树为什么在函数中不能使用?

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


加好友 发短信
等级:婴狐 帖子:78 积分:888 威望:0 精华:0 注册:2012/12/1 22:12:00
[求助]目录树为什么在函数中不能使用?  发帖心情 Post By:2014/11/21 20:53:00 [显示全部帖子]

员工档案表结构如下:部门、姓名、岗位、出生日期等。

在员工档案窗口中添加一个按钮,生成目录树,代码如下:

Dim tv As WinForm.TreeView
tv =e.Form.Controls("TreeView1")
tv.BuildTree("员工档案", "部门|岗位|姓名")

 

上述代码运行没有问题。考虑到代码的通用性,将上述代码改为函数TreeViewRefresh,代码如下:

Dim arg_Columns As String = Args(0) '目录树的数据列,用符号"|"隔开
Dim tv As WinForm.TreeView
tv =Forms.ActiveForm.Controls("TreeView1")
tv.BuildTree(CurrentTable.Name ,arg_Columns)

调用函数代码:Functions.Execute("TreeViewRefresh","部门|岗位|姓名")

运行时就出错,提示:未将对象引用设置到对象的实例!

 

请各位高手看一下如何解决?

 


此主题相关图片如下:2014-11-21_205033.png
按此在新窗口浏览图片
[此贴子已经被作者于2014-11-22 9:01:54编辑过]

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


加好友 发短信
等级:婴狐 帖子:78 积分:888 威望:0 精华:0 注册:2012/12/1 22:12:00
  发帖心情 Post By:2014/11/22 14:38:00 [显示全部帖子]

谢谢Bin的关注!

建立TreeViewRefresh函数后,将窗口按钮内原来的代码改为调用函数:

Functions.Execute("TreeViewRefresh","部门|岗位|姓名")

 

运行时就出错了。


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


加好友 发短信
等级:婴狐 帖子:78 积分:888 威望:0 精华:0 注册:2012/12/1 22:12:00
  发帖心情 Post By:2014/11/22 15:26:00 [显示全部帖子]

问题解决了!谢谢Bin!

做例子的过程中发现,在窗口AfterLoad事件中也调用了生成树的函数Functions.Execute("TreeViewRefresh","部门|岗位|姓名")

导致出错!去掉就没问题了。

不过,这样窗口生成后不能直接显示目录树,需要单击按钮,有些遗憾!

理论上AfterLoad事件是加载窗口后执行,在这里生成目录树应该没问题。

 

 


 回到顶部