Foxtable(狐表)用户栏目专家坐堂 → 如何用代码定位节点


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

主题:如何用代码定位节点

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
如何用代码定位节点  发帖心情 Post By:2015/5/12 12:46:00 [只看该作者]

请教老师:
      如何用代码在遍历树节点后将树节点定位到遍历前的选定节点上?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/12 13:34:00 [只看该作者]


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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/5/12 14:10:00 [只看该作者]

SelectedNode

TreeNode类型,返回或者设置选定的节点。

示例

选定目录树第一个节点的第二个子节点:

Dim tr As WinForm.TreeView
tr = Forms(
"窗口1").Controls("TreeView1")
tr.SelectedNode = tr.Nodes(
0).Nodes(1
)


因为节点级数不定,这句代码(tr.SelectedNode = tr.Nodes(0).Nodes(1))不知道怎么写,请教老师(遍历前如何记录下来,遍历后如何定位)


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/12 14:12:00 [只看该作者]

 你具体问题是什么?直接说你要做的功能,或者贴出你写好的代码。

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/12 14:12:00 [只看该作者]

你喜欢设置那个就设置那个的.不需要记住这个


比如你遍历到某个 节点TN  直接设置为它即可  tr.SelectedNode = tn

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/5/12 14:34:00 [只看该作者]

如第1张图:树节点选中的是  SQL,并且有图标。  


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
如第二张图:当在表中将小类的  SQL   改为   SQL1111111,要相应修改树节点,因此我将树刷新了一次,相当于重新加载了一次数,现在的目的是要将树加点  SQL 自动选中并显示图标,就不会做了。
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
   

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/5/12 14:35:00 [只看该作者]

图上反了

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/12 14:39:00 [只看该作者]

重新生成节点之前,用变量存起这个节点的Name

生成之后,遍历它,  
IF nd.name= 变量 then 
tr.SelectedNode = tn
end if

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/12 14:39:00 [只看该作者]

 循环遍历目录树,判断

 

If nd.FullName.Replace("\", "") = Tables("表A").Current("大类") & Tables("表A").Current("小类") Then

 

End If


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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/5/12 14:40:00 [只看该作者]

我再刷新按钮写了下面代码,但执行后无效
Dim tr1 As WinForm.TreeView = e.Form.Controls("TreeView1")

Dim tn As  WinForm.TreeNode = tr1.SelectedNode

tr1.StopRedraw
tr1.BuildTree("常用代码", "Category|小类")
tr1.Nodes.Insert("所有分类",0)
tr1.ExpandAll
tr1.ResumeRedraw

tr1.SelectedNode = tn

 回到顶部
总数 16 1 2 下一页