Zdravím, dík za pomoc, ale iterace je N. Sehnal jsem kód, který vykreslí strom, ale je tam jeden problémek, potřebuji aby z DB byly ve stromu obsaženy informace o ID čísle záznamu. Nový kod, který funguje, bohužel z DB zobrazuje jen Popis.
Private Sub FRM_TreeView2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
con.ConnectionString = "server=XXX;integrated Security=SSPI;DATABASE=TEST"
con.Open()
Catch exc As SqlClient.SqlException
MessageBox.Show("Nepodařilo se připojit na SQL server.", "XXX", MessageBoxButtons.OK)
End Try
PUB_ZobrazStrom()
End Sub
Public Sub PUB_ZobrazStrom()
Dim ds As New DataSet
Dim cmd As New SqlCommand
Dim da As New SqlClient.SqlDataAdapter(cmd)
dt = ds.Tables.Add
With cmd
.Connection = con
.CommandText = "Ulozenaprocedura" ' ZDROJ "SELECT id, parentID, popis from TestTab"
.CommandType = CommandType.StoredProcedure
End With
da.Fill(dt)
AddNodes(dt, dt.Select("isnull(idparent, -1) = -1"), TreeView1.Nodes)
End Sub
Private Sub AddNodes(ByVal dt As DataTable, ByVal Rows As DataRow(), ByVal Nodes As TreeNodeCollection)
For Each row As DataRow In Rows
Dim node As TreeNode
Dim SubRows() As DataRow
node = Nodes.Add(row(2).ToString)
SubRows = dt.Select("idparent = " & DirectCast(row(0), Integer))
AddNodes(dt, SubRows, node.Nodes)
Next
End Sub
|