ソス@ソスソスtreeviewソスナ子ソスmソス[ソスhソスソスヌ会ソスソスソスソスソスソスソスソスB
|
ソスEC/C++
ソスEDelphi
ソスEVisual BasicソスソスソスSソスソス
ソス@(VB2-VB6ソスソス.NETソスソスソスp)
ソスEVisual Basic(VB2-VB6)
ソスEVisual Basic .NET
ソスEVisual C++
ソスEpapy's softwarelibrary
ソスfソス[ソス^ソスソスヌゑソスソスtreeviewソスノ移托ソスソスソスソスソスニゑソスソスノ、ソスeソスmソス[ソスhソスソスwソス閧オソスト子ソスmソス[ソスhソスソスヌ会ソスソスソスソス驍アソスニゑソスソストでゑソスソスワゑソスソスソスソスH
ソスfソス[ソス^ソスヘ「ソスRソス[ソスhソスvソスuソスソスソスフ」ソスuソスeソスRソス[ソスhソスvソスニなゑソスソストゑソスソスワゑソスソスB
ソスKソスwソスヘ不ソスソスナゑソスソスB
ソスソスソスソスソスフ仕ソスソスソスソスソスソスソスソスソスフゑソスソスqソスbソスgソスソスソスネゑソスソスト・ソスEソスE
ソスソスしソスソスソスソスソス閧「ソスソスソスワゑソスソスB
> ソスeソスmソス[ソスhソスソスwソス閧オソスト子ソスmソス[ソスhソスソスヌ会ソスソスソスソス驍アソスニゑソスソストでゑソスソスワゑソスソスソスソスH
ソスナゑソスソスワゑソスソスソスソスAソスソスソスソスソスソスソスAソスヌの包ソスソスソスソスナ搾ソスソスソスソストゑソスソスソスフでゑソスソス蛯、ソスソス?
ソスETreeView ソスフ使ソスソスソスソスソスソスソスフゑソスフゑソスソスソスソスソスソスソスネゑソスソスB
ソスEソスmソス[ソスhソスフ会ソスソスノ、ソスqソスmソス[ソスhソスソスヌ会ソスソスソスソスソスソスソス@ソスソスソスかソスソスネゑソスソスB
ソスEソスソスソスナに追会ソスソスソスソス黷スソスmソス[ソスhソスソス謫セソスソスソスソスソスソス@ソスソスソスvソスソスソスツゑソスソスネゑソスソスB
ソスソスソスソスsソスソスソスナ申ソスソスソスけソスソスソスソスワゑソスソスソスB
TreeViewソスソスgソスソスソスフゑソスソスソス゚てなので、ソス}ソスjソスソスソスAソスソスソスソスソスツつコソス[ソスfソスBソスソスソスOソスソスソストゑソスソスワゑソスソスB
ソスRソス[ソスhソス@ソスソスソスフ ソスeソスRソス[ソスh
001 ソスeソスPソス@000ソス@ソス@ソス@ソス@ソス@ソス@ソスeソスP--ソスqソスP
002 ソスqソスPソス@001ソス@ソス@ソス@ソス@ソス@ソス@ソス@ソス@|
003 ソスqソスQソス@001ソス@ソス@ソス@ソス@ソス@ソス@ソス@ソス@--ソスqソスQ
004ソス@ソス@ ソスeソスQソス@000
005 ソスqソスP 004ソス@ソス@ソス@ソス@ソス@ソス@ソスeソスQ--ソスqソスP
006 ソスソスソスP 005ソス@ソス@ソス@ソス@ソス@ソス@ソス@ソス@ソス@|
ソス@ソス@ソス@ソス@ソス@ソス@ソス@ソス@ソス@ソス@ソス@ソス@ソス@ソス@ソス@ ソス@--ソスソスソスQ
ソスfソス[ソス^ソスソスソスソスソスLソスニゑソスソスト、ソスEソスLソスフようソスノ表ソスソスソスソスソスソスソスソスソスソスソスソスナゑソスソスB
ソスKソスwソスヘ会ソスソスKソスwソスノなるかソスかソスソスワゑソスソスソスB
ソスソスしソスソスソスソスソス閧「ソスソスソスワゑソスソスB
'ソスニりあソスソスソスソスソスAソスソスソスfソス[ソス^ソスソス DataTable ソスノゑソスソスソスニ会ソスソス閧オソスト…ソスc
Private dataTable1 As New DataTable
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
ソス@dataTable1.Columns.Add("ソスRソス[ソスh")
ソス@dataTable1.Columns.Add("ソスソスソスソス")
ソス@dataTable1.Columns.Add("ソスeソスRソス[ソスh")
ソス@dataTable1.Rows.Add("001", "ソスeソスP", "000")
ソス@dataTable1.Rows.Add("002", "ソスqソスP", "001")
ソス@dataTable1.Rows.Add("003", "ソスqソスQ", "001")
ソス@dataTable1.Rows.Add("004", "ソスeソスQ", "000")
ソス@dataTable1.Rows.Add("005", "ソスqソスP", "004")
ソス@dataTable1.Rows.Add("006", "ソスソスソスP", "005")
ソス@dataTable1.AcceptChanges()
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
ソス@Dim view As New DataView(dataTable1)
ソス@view.Sort = "ソスeソスRソス[ソスh,ソスRソス[ソスh"
ソス@With TreeView1.Nodes
ソス@ソス@For Each row As DataRowView In view
ソス@ソス@ソス@Dim code As String = row("ソスRソス[ソスh").ToString()
ソス@ソス@ソス@Dim itemName As String = row("ソスソスソスソス").ToString()
ソス@ソス@ソス@Dim parentCode As String = row("ソスeソスRソス[ソスh").ToString()
ソス@ソス@ソス@Dim parentNodes() As TreeNode = .Find(parentCode, True)
ソス@ソス@ソス@If parentNodes.Length > 0 Then
ソス@ソス@ソス@ソス@parentNodes(0).Nodes.Add(code, itemName)
ソス@ソス@ソス@Else
ソス@ソス@ソス@ソス@.Add(code, itemName)
ソス@ソス@ソス@End If
ソス@ソス@Next
ソス@End With
End Sub
>ソス@view.Sort = "ソスeソスRソス[ソスh,ソスRソス[ソスh"
ソスソスソスソスBソスRソス[ソスhソスソスソスノ擾ソスソスソスソスソスソスソスソスソス@ソスソスソスニ、
dataTable1.Rows.Add("050", "ソスeソスP", "000")
dataTable1.Rows.Add("030", "ソスqソスP", "050")
dataTable1.Rows.Add("020", "ソスソスソスP", "030")
ソスフようソスネデソス[ソス^ソスフ趣ソスソスノゑソスソスワゑソスソスソスソスソスソスワゑソスソスソスヒ。
ソスネ会ソスソスAソスソスソスソスソスRソス[ソスhソスBVB2005 ソスソスソスソスソスノ擾ソスソスソスソストゑソスソスワゑソスソスB
=================
Public Class NodeItem
ソス@Inherits TreeNode
ソス@Public ReadOnly Code As String
ソス@Public ReadOnly ParentCode As String
ソス@Public Sub New(ByVal row As DataRow)
ソス@ソス@MyClass.Text = row("ソスソスソスソス").ToString()
ソス@ソス@Code = row("ソスRソス[ソスh").ToString()
ソス@ソス@ParentCode = row("ソスeソスRソス[ソスh").ToString()
ソス@End Sub
End Class
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
ソス@'ソスeソスqソスヨ係ソスソスソスソスソスナノソス[ソスhソスソス成
ソス@Dim nodes As New Dictionary(Of String, NodeItem)()
ソス@For Each row As DataRow In dataTable1.Rows
ソス@ソス@Dim item As New NodeItem(row)
ソス@ソス@nodes.Add(item.Code, item)
ソス@Next
ソス@'ソスeソスqソスヨ係ソスソス¥ソスz
ソス@Dim rootNodes As New List(Of NodeItem)()
ソス@For Each item As NodeItem In nodes.Values
ソス@ソス@If nodes.ContainsKey(item.ParentCode) Then
ソス@ソス@ソス@nodes(item.ParentCode).Nodes.Add(item)
ソス@ソス@Else
ソス@ソス@ソス@rootNodes.Add(item)
ソス@ソス@End If
ソス@Next
ソス@'ソスソスハに費ソスソスf
ソス@TreeView1.Nodes.AddRange(rootNodes.ToArray())
End Sub
ソスソスソスEソスフ会ソスソスハ弁士ソスソスソスソスAソスソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスB
Dim nodes As New Dictionary(Of String, NodeItem)()
Dim rootNodes As New List(Of NodeItem)()
ソスソスDictionaryソスソスListソスソスソスソス`ソスソスソスソストゑソスソスネゑソスソスフエソスソスソス[ソスノなゑソスフでゑソスソスソスソスH
ソスソスソスソスホゑソスソスソスナゑソスソスソスソスワゑソスソスソスB
ソスソスソス
> VB2005 ソスソスソスソスソスノ擾ソスソスソスソストゑソスソスワゑソスソスB
ソスニ擾ソスソスソスソスワゑソスソスソスソス謔、ソスノ、List(Of T) ソスソス Dictionary(Of T) ソスソスgソスソスソスノゑソス
VB2005 ソスソスソスKソスvソスナゑソスソスBソスソスソスネゑソスソスフ環具ソスソスヘなゑソスナゑソスソスソス?
ソスツ具ソスソスソスVisual Studio 2005ソスナゑソスソスB
ソスモむ。ソスWソスソスソスナは使ソスソスソスソスヘゑソスソスネのでゑソスソスソスソスヒ。
ソスナは、.vb ソスtソス@ソスCソスソスソスフコソス[ソスhソスフ茨ソスヤ先頭(Public Class Form1ソスソスソスO)ソスノ、
ソス@Imports System.Collections.Generic
ソスニ擾ソスソスソスソスソスソスAソスソスソスソスソスソスヘ、ソスソスソス黷シソスソスフ変撰ソスソス骭セソスソスA
ソス@Dim rootNodes As New System.Collections.Generic.List(Of NodeItem)()
ソスフようソスノフソスソスソスlソス[ソスソスソスナ指ソス閧オソストみてゑソスソスソスソスソスソスソスソスB
ソスナゑソスソスワゑソスソスソスソスI
ソスソスソスソスソスbソスノなゑソスワゑソスソスソスソスBソスソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスソスソスB