【问题标题】:Vb.net tree view population problem with grandchildren subnodes带有孙子节点的vb.net树视图填充问题
【发布时间】:2020-09-12 11:08:10
【问题描述】:

我创建了一个表(见下图),我想将其填充到 Treeview 控件中。

Mobiles 记录是根节点
SamsungApple 记录是来自Mobiles 的子节点
Note9Note10 记录是来自Samsung 的子节点

使用 VB.NET,如何填充 Treeview 控件?

【问题讨论】:

  • 你能解释一下你想要填充什么吗?哪些列?全部 ?我已经改变了你的问题。现在,表格的图片在问题中直接可见。但是你写的关于子节点的内容与我在表中看到的不对应!!! Samsung 和 Node9 是 Mobiles 的子节点,而不是 Apple!?你能改进你的问题吗?为了帮助你,看看我是如何改变它的;-)
  • 不清楚。例如,请参阅this
  • 手机有两个节点:三星和苹果三星有两个子节点:Note9和Note10 thx

标签: vb.net datatable treeview populate


【解决方案1】:

已经用这段代码解决了:

 Private Sub InitTree()
        'Populate table here.
        TreeView1.Nodes.Clear()
        Try
            Dim sqlconstr As String

            sqlconstr = MainForm.Label1.Text
            ' CONNECTION
            Dim dt As New DataTable
            Dim con As New SqlConnection(sqlconstr)
            Dim Da As New SqlDataAdapter("Select [Parentname], [name] from [dbo].[GR] order by [Parentcode] asc , [code] asc", con)
            dt.Clear()
            Da.Fill(dt)
            If dt.Rows.Count > 0 Then

                For Each dr As DataRow In dt.Rows
                    AddNode(dr("Parentname").ToString, dr("name").ToString)
                Next
            Else
                '   TreeView1.Nodes.Add("hgvzds")
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        TreeView1.ExpandAll()
    End Sub
    Private Sub AddNode(parentNode As String, nodeText As String)
        Dim node As New List(Of TreeNode)
        node.AddRange(TreeView1.Nodes.Find(parentNode, True))
        If Not node.Any Then
            node.Add(TreeView1.Nodes.Add(parentNode, parentNode))
        End If
        node(0).Nodes.Add(nodeText, nodeText)
    End Sub

【讨论】:

    猜你喜欢
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-09
    • 2015-08-27
    • 1970-01-01
    相关资源
    最近更新 更多