求高效率TreeView算法,TreeView高手进

maskdata 2004-12-27 03:57:15
树结构如下:
1-|-5
|-6

2-|-7
|-8-|-13
| |-14
|
|-9-|-15

3-|-10
|-11-|-16-|-17
| |-18
|-12 |-19
|-20

简单说一下吧,index是从第一级开始的,也就是说我是先把主集添加好才添加子集的
但是我现在需要的是从第一级开始取,如果有子类就取子类,没子类就取下一个
也就是说,先取1,再取5,再取6,因为没有子集了所以取2
然后取7,取8.取13,取14,取9,取15,取3,取10,取11,取16,取17,取18,取19,取20,取12
不知道大家看明白了没有
...全文
125 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cool_man 2004-12-27
  • 打赏
  • 举报
回复
好象就是你要的,哈哈
cool_man 2004-12-27
  • 打赏
  • 举报
回复
我有个方法不过取法不一样,不知道行不行先贴给你看看
Private Function SearchChildNod(curNod As Node) As String
Dim i As Long
Dim oNode As Node
Dim oNode2 As Node
If curNod.Children > 0 Then

Set oNode = curNod.Child
For i = 1 To curNod.Children

SearchChildNod = SearchChildNod + oNode.Text + vbCrLf
Set oNode2 = oNode
If oNode2.Children > 0 Then
SearchChildNod = SearchChildNod + SearchChildNod(oNode2)
End If
Set oNode = oNode.Next
Next
' Set oNode = curNod.Child
' SearchChildNod (oNode)
End If



End Function
maskdata 2004-12-27
  • 打赏
  • 举报
回复
我的key是没办法设置规律的,如果能设置规律也就好办了
请以我的树结构为基础考虑,谢谢
viena 2004-12-27
  • 打赏
  • 举报
回复
分级编码作为节点的Key,不知道可不可以?
比如:
a-|-aa
|-ab

b-|-ba
|-bb-|-bba
| |-bbb
|
|-bc-|-bca

c-|-ca
|-cb-|-cba-|-cbaa
| |-cbab
|-cc |-cbac
|-cbad
zhengoodman 2004-12-27
  • 打赏
  • 举报
回复
如果数据库是oracle就很好解决。不知你用什么数据库?
maskdata 2004-12-27
  • 打赏
  • 举报
回复
最好是高效率的方法,因为我现在找到一种办法,但是效率太低了

1,451

社区成员

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

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