以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何用代码定位节点  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68205)

--  作者:lzzhx
--  发布时间:2015/5/12 12:46:00
--  如何用代码定位节点
请教老师:
      如何用代码在遍历树节点后将树节点定位到遍历前的选定节点上?

--  作者:Bin
--  发布时间:2015/5/12 13:34:00
--  
参考帮助http://www.foxtable.com/help/topics/0884.htm
--  作者:lzzhx
--  发布时间: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))不知道怎么写,请教老师(遍历前如何记录下来,遍历后如何定位)


--  作者:大红袍
--  发布时间:2015/5/12 14:12:00
--  
 你具体问题是什么?直接说你要做的功能,或者贴出你写好的代码。
--  作者:Bin
--  发布时间:2015/5/12 14:12:00
--  
你喜欢设置那个就设置那个的.不需要记住这个


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

--  作者:lzzhx
--  发布时间:2015/5/12 14:34:00
--  
如第1张图:树节点选中的是  SQL,并且有图标。  


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

--  作者:lzzhx
--  发布时间:2015/5/12 14:35:00
--  
图上反了
--  作者:Bin
--  发布时间:2015/5/12 14:39:00
--  
重新生成节点之前,用变量存起这个节点的Name

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

--  作者:大红袍
--  发布时间:2015/5/12 14:39:00
--  

 循环遍历目录树,判断

 

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

 

End If


--  作者:lzzhx
--  发布时间: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