- - PR -
VB.net TreeView 再帰
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-08-24 11:20
はじめまして、
VB.NETでツリー表示し、ノードを複数階層を表示することをやってますが、 なかなか、解決ができません。皆様に助けを求めに来ました。よろしくお願いします。 ■環境 OS : WINDOWS XP SP2 言語: VB.NET DB : MSDE テーブルT_ALL、階層を大 → 小に表示すると、 TAG1 → TAG2 → TAG3 → TAG4 になります。 ■テーブル5.T_ALL ID Tag1 Tag2 Tag3 Tag4 1 1 1 1 1 2 1 1 5 1 3 2 1 1 1 4 2 3 4 2 5 3 2 5 4 表示内容は「--」内のように --------------------------------------- 1 ├−1 | └−1 | └−1 | └−5 | └−1 2 ├−1 | └−1 | └−1 ├−3 | └−4 | └−2 3 └−2 └−5 └−4 --------------------------------------- データベースにはIDの情報として保存してあるが、ツリー表示は対応するNameの値を表示する '#--------------------------------------# '# Form1初期ロード '#--------------------------------------# Private myConn As SqlConnection Private myCmd As SqlCommand Private myReader As SqlDataReader Private connectionString As String = "Initial Catalog=DB_NAME;" & "Data Source=LOCAL;Integrated Security=SSPI;" Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TreeView内容をクリア Me.TreeView1.Nodes.Clear() 'CONNECT SQL SERVER myConn = New SqlConnection(connectionString) myCmd = myConn.CreateCommand myConn.Open() sSQL = "SELECT DISTINCT * FROM T_ALL " myCmd.CommandText = sSQL myReader = myCmd.ExecuteReader() i = 0 Do While myReader.Read() TreeView1.Nodes.Add(myReader.Getalue(1)) Loop myReader.Close() End Sub ----------------------------------------- 以上のソースは1階層目を表示するだけで、全階層を表示するには、再帰関数使うのが楽と思いますが、 どんな方法があるかをご指導ください。 ◆◇◆◇◆ 内容が長くすぎて、申し訳ございません。ご回答よろしくお願いします。 | ||||||||
|
投稿日時: 2007-08-24 11:34
TreeView のフルパス取得について
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-08-24 11:47
この場合、再帰なしでも可能でしょう。
擬似コードで示すと
確認してないけど、たぶんこんな感じ。 | ||||||||
|
投稿日時: 2007-08-27 09:12
かずさん、ご解答ありがとうございます。
Tagは表示順番があるので、実際は13階層があって、例として出してあるのが4階層ですが、再帰使うほうが楽だとは思いますが、 実際出した例のまま、かずさんのコードを使ってやって見たんですが、 まだできませんでした、 もう少し詳しく説明してもらいませんか? 初心者のいいわけとはいえないですが、言葉のところのソースが。。。 | ||||||||
|
投稿日時: 2007-08-27 11:01
はっきり言いなよ。 「コピペで使えるソースが欲しい」 って。 解決する気があるのなら、 じゃんぬさんの指して下さってるポイントと、かずくんさんの示して下さってる説明。 これらの、「どこがどうわからないか」を書いた方がいいと思う。 | ||||||||
|
投稿日時: 2007-08-27 23:00
データは5つしかないのに、オブジェクトは17個あるの? |
1