C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 132 を表示中)
■78175 / )  VBでのTree階層
□投稿者/ NKSH (1回)-(2015/12/18(Fri) 17:59:29)

分類:[.NET 全般] 

はじめまして、VB(.NET)について質問させていただきます

今現在、VBでTreeViewを用いてDB上での受注管理をしやすくするようなものを作っています。 

しかし、TreeViewを読み込むところで、
TreeViewが階層構造にならず下に1つしか出ないようになってしまいます

◎
 |--XXX
 |--OOO

現在↑のようになってしまい、実際はこのような感じにしたいと思っております
◎
 |--XXX
 |  |_yyy
 |    |_zzz
 |      |_ddd
 |
 |-OOO

このようにするためには、どのようにプログラムを直したらよろしいでしょうか?


 回答よろしくお願いします


********##コード##**************
Private Sub TreeViewLoad()

        Dim contorol As New Contoroller
        Dim orderlist As ArrayList = contorol.GetOrderList
       
        Me.TreeView.Nodes.Clear()

        Dim rootNode As TreeNode
        rootNode = New TreeNode()
        rootNode.Text = " 受注リスト "
        TreeView.Nodes.Add(rootNode)

        Dim prod As ProductClass
        Dim proc As ProcessClass
        Dim parts As PartsClass
        Dim order As OrderClass

        For Each order In orderlist

            Dim i As Integer = 0
            Dim j As Integer = 0
            Dim q As Integer = 0

            Dim myTreeNodeArray(order.ProductList.Count - 1) As TreeNode


            For Each prod In order.ProductList

                Dim mytreeNodeArrayProcess(prod.ProcessList.Count - 1) As TreeNode 
                myTreeNodeArray(i) = New TreeNode("プロダクト名 :" + prod.ProductName)
          
                For Each proc In prod.ProcessList

                    Dim mytreeNodeArrayParts(proc.PartsList.Count - 1) As TreeNode


                    mytreeNodeArrayProcess(j) = New TreeNode("プロセス名 :" + proc.ProcessName)

                    For Each parts In proc.PartsList

                        mytreeNodeArrayParts(q) = New TreeNode("部品名 :" + parts.PartsName)

                           mytreeNodeArrayParts(q).Tag = parts

                        q += 1
                    Next parts
                    j += 1
                Next proc
                i += 1
            Next prod
            Dim orderNode As New TreeNode("受注先 :" + order.OrderName, myTreeNodeArray)
            orderNode.ForeColor = Color.Red
            Me.TreeView.Nodes(0).Nodes.Add(orderNode)


        Next order
        With Me.TreeView
            .ExpandAll()
            .ForeColor = Color.Navy
            .BackColor = Color.Azure
            .LineColor = Color.Red
            .ContextMenuStrip = Me.ContextMenuStrip1
        End With
    End Sub


返信 編集キー/


管理者用

- Child Tree -