#1 10.09.07 14:16
[vb.net]соединить TreeView и Базу данных
Доброе время суток!
Посоветуйте решением.
Как можно контрол TreeView подключить к такой таблице в базе MS SQL
id Name Child
1 Группа1 0
2 Группа2 0
3 Подгруппа1 1
4 Подгруппа2 1
5 Подгруппа3 2
6 Подподгруппа1 5
И получить динамически заполненное дерево
Группа1
|_Подгруппа1
|_Подгруппа2
Группа2
|_Подгруппа3
|_Подподгруппа1
Может есть готовые решения на этот счет, или готовые контролы позволяющие сделать такое
Исправлено eagle (10.09.07 14:20)
Offline
#4 11.09.07 23:42
Re: [vb.net]соединить TreeView и Базу данных
Offline
#5 03.10.07 15:25
Re: [vb.net]соединить TreeView и Базу данных
что не склеилось у меня с этим примером
Private Sub tree_load()
Dim sqlc As SqlCommand
Dim opp(128) As Integer
Dim opp_ As Integer = 0
sqlc = New SqlCommand
sqlc.Connection = Me.SqlConnection1
sqlc.Connection.Open()
Dim i As Integer = 0
Dim reader As System.Data.SqlClient.SqlDataReader
sqlc.CommandText = "Select * from T_Deportament"
reader = sqlc.ExecuteReader
'
TreeView1.Nodes.Clear()
Dim Nodes As SortedList = New SortedList
Dim rootNode As New System.Windows.Forms.TreeNode
reader.Read()
rootNode.Text = reader!NAME.ToString()
TreeView1.Nodes.Add(reader!ID, rootNode.Text)
While (reader.Read())
Dim ParentNode As New System.Windows.Forms.TreeNode
ParentNode.Text = reader!NAME.ToString()
'MsgBox(reader!parentID)
ParentNode.Tag = reader!parentID
Nodes.Add(reader!ID, ParentNode.Text)
End While
reader.Close()
Dim lvl As Integer
For i = 1 To Nodes.Count - 1
If Nodes.GetByIndex(i).Tag > 1 Then
lvl = Nodes.GetByIndex(i).ToString
Nodes(lvl).Nodes.Add(Nodes.GetByIndex(i))
Else
MsgBox(Nodes.GetByIndex(i))
If Nodes.GetByIndex(i).Tag <> 0 Then
opp_ = opp_ + 1
opp(opp_) = i
End If
End If
Next
Dim t As Integer
For t = 1 To opp_
TreeView1.Nodes.Add(Nodes.GetByIndex(opp(t)))
Next t
sqlc.Connection.Close()
Вот он в моей интерпритации
Исправлено eagle (03.10.07 15:57)
Offline

