以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于treeview节点  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66484)

--  作者:machle
--  发布时间:2015/4/8 8:30:00
--  关于treeview节点
通过treeview建一个嵌套文件夹的目录,然后点击节点名称,在表内显示文件夹内的文件夹和文件名称。遇到的问题是treeview里的节点可能是重复的,用indexof搜到的结果有问题。请问还有其它更好的方式吗?谢谢!

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
For Each nd As WinForm.TreeNode In trv.AllNodes
    If nd.Text.IndexOf(tab1.current("名称")) >= 0 Then
        \'nd.Checked = True
        \'messagebox.show(ProjectPath & "DocumentManu\\" & nd.FullPath)
       txt1.text = ProjectPath & "DocumentManu\\" & nd.FullPath
       \'messagebox.show(ProjectPath & "DocumentManu\\" & nd.FullPath)
    End If
Next

--  作者:Bin
--  发布时间:2015/4/8 8:37:00
--  
不用如此遍历

点击节点用 node.FullPath  即可获取整个路径.

--  作者:Bin
--  发布时间:2015/4/8 8:38:00
--  
具体请上个例子吧.如果是根据表的值判断,应该也有是第几级目录这样类似的依据才可以.
--  作者:狐狸爸爸
--  发布时间:2015/4/8 8:48:00
--  

If nd.Text.IndexOf(tab1.current("名称")) >= 0 Then

 

改为:

dim nm as string = tab1.current("名称")

if nd.text.StartsWith(nm & "\\") orelse nd.text.endswith("\\" & nm) orelse nd.text.indexof("\\" & nm & "\\") > 0 then

end if

 

意思是判断以这个开头,以这个结尾,中间包括三种情况

 


--  作者:machle
--  发布时间:2015/4/8 8:49:00
--  回复:(Bin)具体请上个例子吧.如果是根据表的值判断...
 我想做的事文件夹嵌套,然后点击的话,找出所在的文件夹内的文件和文件夹,然后双击表内文件夹的名称,又在表内显示点击的文件夹里面的内容。
我再找找层级判断之类的,或是您方便给我一个吧。谢谢!

--  作者:Bin
--  发布时间:2015/4/8 8:54:00
--  
这是你表设计的问题.

不过既然遍历文件夹生成目录树了,要表何用?

具体请上个例子吧