关于树型结构,谢谢!

ryuginka 2003-11-03 04:13:18
我在VB中动态生成一颗树,我想定位查找,应该怎样做啊。
比如我输入一个代码(代码是关键字,唯一确定的),就把满足条件的那个树的节点展开显示到那条记录。
谢谢。最好有代码,见好就结帐

...全文
75 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryuginka 2003-11-04
  • 打赏
  • 举报
回复
有一点不好的 地方就是背景颜色好象很难控制的。执行定位后,颜色好象无法变回原来的饿状态了。
palmkey 2003-11-03
  • 打赏
  • 举报
回复
'上面程序有误
Dim n As Node
Dim nf As Node

For Each n In Tv.Nodes
If n.key = "KeyNo" Then
Set nf = n
While Not nf.Parent Is Nothing
nf.Parent.Expanded = True
Set nf = nf.Parent
Wend

Exit For
End If
Next
palmkey 2003-11-03
  • 打赏
  • 举报
回复
Dim n As Node
dim nf as node

for each n in TreeView1.nodes
if n.key=keycode then
set nf=n
while nf.Parent is not nothing then
nf.Parent.Expanded =True
set nf=nf.Parent
wend
exit for
end if
next

northwolves 2003-11-03
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim x As String
x = InputBox("请输入人员编码", , "D5")
TreeView1.Nodes.Item(x).Selected = True
TreeView1.Nodes.Item(x).BackColor = vbBlue
End Sub



Private Sub Form_Load()
Dim nodx As Node
For i = 1 To 5
Set nodx = TreeView1.Nodes.Add(, , Chr(64 + i), Choose(i, "部门1", "部门1", "部门3", "部门4", "部门5"))
For j = 1 To 10
Set nodx = TreeView1.Nodes.Add(Chr(64 + i), 4, Chr(64 + i) & j, Chr(64 + i) & j)
Next
Next
End Sub
ryuginka 2003-11-03
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim x As String
x = InputBox("?", , "CE")
TreeView1.Nodes.Item(x).Selected = True
TreeView1.Nodes.Item(x).BackColor = vbBlue
End Sub
看不懂。可以这样写吗?
能否写出遍历查找的过程让我参考。或者你再说明原理啊。
我的要求告诉大家:
根节点
部门
人员编码
这样结构的树型结构,希望输入人员编码后就可以展开如上的人员,并且高亮显示。
谢谢。
eyecao 2003-11-03
  • 打赏
  • 举报
回复
楼上的两位都说得很对!

又来迟了,没我的份,碌、碌、碌过。。。。。。。。。。。。
zhsu 2003-11-03
  • 打赏
  • 举报
回复
就是你在数据结构上学的数据遍历就可以了。
northwolves 2003-11-03
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim x As String
x = InputBox("?", , "CE")
TreeView1.Nodes.Item(x).Selected = True
TreeView1.Nodes.Item(x).BackColor = vbBlue
End Sub

Private Sub Form_Load()
Dim nodx As Node
For i = 1 To 5
Set nodx = TreeView1.Nodes.Add(, , Chr(64 + i), Chr(64 + i))
For j = 1 To 10
Set nodx = TreeView1.Nodes.Add(Chr(64 + i), 4, Chr(64 + i) & Chr(64 + j), Chr(64 + i) & Chr(64 + j))
Next
Next
End Sub

7,763

社区成员

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

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