有什么好办法获取TreeView里某个节点的层次

sinall 2004-08-10 04:34:31
有什么好办法获取TreeView里某个节点的层次
要好办法!
...全文
351 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinall 2004-08-12
  • 打赏
  • 举报
回复
不是吧?是"\"啊
northwolves 2004-08-11
  • 打赏
  • 举报
回复
: northwolves(狼行天下)
^_^
按你的方法可以是:

dim intNodeLevel as integer
intNodeLevel=UBound(Split(Node.FullPath, TreeView1.PathSeparator)) + 1


---------
不错,但TreeView1.PathSeparator 默认""
flyingZFX 2004-08-11
  • 打赏
  • 举报
回复
在Node的key里加入你的层次的编码就可以了,
sinall 2004-08-11
  • 打赏
  • 举报
回复
: northwolves(狼行天下)
^_^
按你的方法可以是:

dim intNodeLevel as integer
intNodeLevel=UBound(Split(Node.FullPath, TreeView1.PathSeparator)) + 1
northwolves 2004-08-10
  • 打赏
  • 举报
回复
这样更简单:
Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
TreeView1.PathSeparator = "\"
MsgBox "当前层次:" & UBound(Split(Node.FullPath, "\")) + 1
End Sub
落伍者 2004-08-10
  • 打赏
  • 举报
回复
嘿嘿,树型结构,数据结构书上关于树的处理多多!
sinall 2004-08-10
  • 打赏
  • 举报
回复
服了,我已经说了,key里放了别的东西了

好了,自己搞定了
Public Function getNodeLevel(ByRef nodeCurrent As node, ByVal strRootKey As String) As Integer
Dim pNode As node
Set pNode = nodeCurrent
getNodeLevel = 0
While pNode.Key <> strRootKey
Set pNode = pNode.Parent
getNodeLevel = getNodeLevel + 1
Wend
End Function

starsoulxp 2004-08-10
  • 打赏
  • 举报
回复
就是写在key里啊,那样查询的时候只要条件判断一下就知道是那个层次了
sinall 2004-08-10
  • 打赏
  • 举报
回复
我是说有没有现成的办法,key已经用了,text也用了
gzhiceberg 2004-08-10
  • 打赏
  • 举报
回复
可以写在Key里
sinall 2004-08-10
  • 打赏
  • 举报
回复
另外,我的tag要保存数据,注意啊

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧