这种数据结构如何用treeview生成树

tongjr 2003-03-24 11:39:32
id name Leaf
================================
1 张三 1
1.1 李四 1
1.2 王二 1
1.3 麻子 1
1.3.1 涨钱 1
1.3.1.1 顺利 0
1.3.1.2 呼呼 0
=================================

请问大虾,如何用treeview生成树哪!?

以前做的结构都是id,parentid,没做过这种地~~
给点指导,谢谢列~~~
...全文
82 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2003-03-25
  • 打赏
  • 举报
回复
不知对不对????????




Private Sub Form_Load()
Dim nodx As Node
TreeView1.Style = tvwTreelinesPlusMinusPictureText
Set nodx = TreeView1.Nodes.Add(, , "id1", "张三")
nodx.Expanded = True
Set nodx = TreeView1.Nodes.Add("id1", tvwChild, "id1.1", "李四 ")
Set nodx = TreeView1.Nodes.Add("id1", tvwChild, "id1.2", "王二 ")
Set nodx = TreeView1.Nodes.Add("id1", tvwChild, "id1.3", "麻子")
nodx.Expanded = True
Set nodx = TreeView1.Nodes.Add("id1.3", tvwChild, "id1.3.1", "涨钱")
nodx.Expanded = True
Set nodx = TreeView1.Nodes.Add("id1.3.1", tvwChild, "id1.3.1.1", "顺利")
Set nodx = TreeView1.Nodes.Add("id1.3.1", tvwChild, "id1.3.1.2", "呼呼")
nodx.Expanded = True
End Sub
qbilbo 2003-03-25
  • 打赏
  • 举报
回复
对了,m_stru是一个TreeStructure类型的变量数组。
qbilbo 2003-03-25
  • 打赏
  • 举报
回复
我不知道你上面的数据是不是来自一个数据库。
如果是的话,可用以下的办法。
将数据库的中内容导入TreeStructure结构(代码略,注意导入时一定要将数据库的的内容按ID排升序后再给TreeStructure结构赋值。)


Private Type TreeStructure
Id As String
Name As String
End Type

Private Sub Form_Load()
Dim i As Long, n As Integer, TempKey As String
Dim nodx As Node
TreeView1.Style = tvwTreelinesPlusMinusPictureText

For i = LBound(m_stru) To UBound(m_stru)
n = InStrRev(m_stru(i).Id, ".")
If n = 0 Then
Set nodx = TreeView1.Nodes.Add(, , "key" + m_stru(i).Id, m_stru(i).Name)
nodx.Expanded = True
Else
TempKey = Left(m_stru(i).Id, n - 1)
Set nodx = TreeView1.Nodes.Add("key" + TempKey, tvwChild, "key" + m_stru(i).Id, m_stru(i).Name)
nodx.Expanded = True
End If
Next
End Sub
tongjr 2003-03-25
  • 打赏
  • 举报
回复
可能后面还有阿,比如1.3.1.1.1,1.3.1.1.2,得到上一层就比较麻烦了,楼上的兄弟能不能帮忙给个例子片断阿!??
AechoJohn 2003-03-25
  • 打赏
  • 举报
回复
个人认为首先要得到根(GetRoot());其次要有得到指定节点下的当前亲子节点号(GetChildren(),比如给出“1.3”能得到“1.3.1,1.3.2”)。然后就是添加节点的操作了。
上述两个函数都可以很容易的实现。


tongjr 2003-03-25
  • 打赏
  • 举报
回复
谢楼上得,不过动态该如何生成阿,你这个是写在程序里得阿!?

1,451

社区成员

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

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