DOBON.NETプログラミング掲示板過去ログ
TreeView の基礎的な使い方
題名: TreeView の基礎的な使い方
著者: とし
日時: 2006/06/06 11:19:53
ID: 16127
この記事の返信元:
(なし)
この記事への返信:
[16129]
Re[1]: TreeView の基礎的な使い方
Hongliang
2006/06/06 12:06:48
ツリーを表示
環境/言語:[WIN2000 VB.NET 2003]
分類:[.NET]
VB.NETの初心者です宜しくお願いいたします。
TreeView を使用したプログラムを作成中ですがかなり基本的なところでつまずいています。
TreeView 自体の作成は出来ましたが以下の点がわかりません
Tree の構造が
A1
+ AA1
+ AA2
+ AAA1
+ AAA2
B1
のようになっていたと仮定して以下の事柄がわかりません
1.たとえば AAA1 を選択した場合
(TreeView1_AfterSelect イベントで取得しています)
e.Node.Index でインデックスを見ると 0 となり、ルート(A1)からのインデックス位置 たとえば 今の例では 0-1-0 のような値を取ることは出来ないのでしょうか?
※selectedNode.FullPath での使用方法はなんとなくわかるのですが
インデックス値として取得する方法が知りたいです
2.任意のノードをセレクト状態にする方法
以上の手法がわかりません宜しくお願いいたします
題名: Re[1]: TreeView の基礎的な使い方
著者: Hongliang
URL:
http://hongliang.seesaa.net/
日時: 2006/06/06 12:06:48
ID: 16129
この記事の返信元:
[16127]
TreeView の基礎的な使い方
とし
2006/06/06 11:19:53
この記事への返信:
[16138]
Re[2]: TreeView の基礎的な使い方
とし
2006/06/06 19:05:22
[解決]
ツリーを表示
> e.Node.Index でインデックスを見ると 0 となり、ルート(A1)からのインデックス位置 たとえば 今の例では 0-1-0 のような値を取ることは出来ないのでしょうか?
TreeNode オブジェクトには Parent プロパティがあり、これで親の TreeNode オブジェクトを取得できます。
これを使って、Parent が Nothing になるまで Loop を使って遡っていって、コレクション(System.Collections の ArrayList、あるいは System.Collections.Generic の List(Of Integer) 辺りですね)にそれぞれのインデックスを追加していけばいいでしょう。
// 末端から遡っていくわけですから、ルートノードからの順番なら Reverse する必要がありますが。
イメージはつかめますか?
> ※selectedNode.FullPath での使用方法はなんとなくわかるのですが
> インデックス値として取得する方法が知りたいです
FullPath は使いづらいプロパティです。何故なら、複数のノードが同じ文字列を持ちうるからです。そのためにノード固有の値にはなり得ません。
どこか(フォームのタイトルとか)に表示するなど、そう言う用途限定で使用すべきでしょう。
> 2.任意のノードをセレクト状態にする方法
まずどうやって「任意のノード」を特定しようと考えていますか?
題名: Re[2]: TreeView の基礎的な使い方
著者: とし
日時: 2006/06/06 19:05:22
ID: 16138
この記事の返信元:
[16129]
Re[1]: TreeView の基礎的な使い方
Hongliang
2006/06/06 12:06:48
この記事への返信:
(なし)
ツリーを表示
ありがとうございました、問題は解決しました。
1.のセレクトした位置のIndeXを配列に格納する方法で解決しました
Parent をたぐって先頭までのIndexを順番に配列に格納することで目的の結果が得られました。
2.の任意の場所のノードをセレクトする場合は 1.で求めた配列を使い、先頭から順番にインデックスをセットすることで解決しました。
何か1つの関数などでインデックス値が取れたりするのかと思っていましたがこのようなロジックが必要なのですね!
とても参考になりましたありがとうございました
解決済み!
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
VB.NETの初心者です宜しくお願いいたします。
TreeView を使用したプログラムを作成中ですがかなり基本的なところでつまずいています。
TreeView 自体の作成は出来ましたが以下の点がわかりません
Tree の構造が
A1
+ AA1
+ AA2
+ AAA1
+ AAA2
B1
のようになっていたと仮定して以下の事柄がわかりません
1.たとえば AAA1 を選択した場合
(TreeView1_AfterSelect イベントで取得しています)
e.Node.Index でインデックスを見ると 0 となり、ルート(A1)からのインデックス位置 たとえば 今の例では 0-1-0 のような値を取ることは出来ないのでしょうか?
※selectedNode.FullPath での使用方法はなんとなくわかるのですが
インデックス値として取得する方法が知りたいです
2.任意のノードをセレクト状態にする方法
以上の手法がわかりません宜しくお願いいたします