![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
VB.NET2003 を使用して、
CheckBox付のTreeViewを作成しました。
階層は3階層用意して、最下層のTextに人名・Tagにメールアドレスをセットしました。
下記のサンプルの場合、チェックを入れたDさんのメールアドレスのみを
取得したいのですが、どのよう書けばよろしいでしょうか?
ご教授いただけますよう、お願い致します。
TreeViewイメージ
□本部
□総務課
□Aさん
□Bさん
□人事課
□Cさん
■Dさん
□Eさん
□営業
□東京
□Fさん
□Gさん
TreeView作成コード
Dim parentrow As DataRow
Dim ParentTable As DataTable
For Each parentrow In ds.Tables("A").Rows
Dim parentnode As TreeNode
parentnode = New TreeNode(parentrow.Item("SHOZOKU").ToString)
treeView1.Nodes.Add(parentnode)
''''child'''''
Dim childrow As DataRow
Dim childnode As TreeNode
childnode = New TreeNode
For Each childrow In parentrow.GetChildRows("A")
childnode = parentnode.Nodes.Add(childrow("BUSHO_NAME").ToString)
''''child2''''
Dim childrow2 As DataRow
Dim childnode2 As TreeNode
childnode2 = New TreeNode
For Each childrow2 In childrow.GetChildRows("B")
childnode2 = childnode.Nodes.Add(childrow2("NAME").ToString)
childnode2.Tag = childrow2("MAIL").ToString
Next childrow2
''''''''''''''''''''''''
Next childrow
'''''''''''''''
Next parentrow
treeView1.CheckBoxes = True
No.1ベストアンサー
- 回答日時:
チェックされたのをいつ所得したいのでしょう?
チェックされた時点でいいのであれば TreeViewのAfterChekイベントで
dim nd as TreeNode
nd = e.Node
if nd.Checked then
MsgBox(nd.Tag)
end if
別のイベント たとえば別ボタンのClick時点なら
dim ndParent, ndChaild1, ndChaild2 as TreeNode
dim sb as new System.Text.StringBuilder
for each ndParent in TreeView1.Nodes
for each ndChild1 in ndParent.Nodes
for each ndchild2 in ndChild1.Nodes
if ndChild2.Chkeced then
if sb.Length <> 0 then
sb.Append( vbCrLf )
end if
sb.Append( ndChild2.Tag )
end if
next ' ndChild2
next ' ndChild1
next ' ndParent
MsgBox(sb.ToString)
といった具合になるかと
この回答への補足
教えて頂いた通り、
別のボタンクリック時にデータ取得したいと考えております。
上記内容でまずは試したいと思います。
有り難うございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコードセットにnullの場合
-
subsequentとnextの違いってな...
-
TreeViewのTag情報取得
-
アクセスできない保護レベルエ...
-
C言語のサフィックスについて
-
C#のループでtextboxに値を入れ...
-
他のフォームから別のフォーム...
-
演奏記号の・・・・
-
VBAでcallで呼び出したsubを終...
-
テキストボックスかラベル上の...
-
VB.NETでのイベントの途中終了
-
配列に複数の値があるか簡潔に...
-
Excel VBAでsub,dimは何の略?
-
【C#】コンボボックスにおけるS...
-
零元のはいっている
-
構造体のコピー
-
VBAのフォーム カーソル移動
-
GetNextWindowがDLLファイルUse...
-
プロシージャまたは関数の引数...
-
ユーザーフォームへのデータ入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードセットにnullの場合
-
タイムアウトする仕組みを作りたい
-
subsequentとnextの違いってな...
-
verilogのcase文
-
日付の重複
-
vbsのmsgboxランダム表示について
-
リスト間のアイテム移動について
-
TreeViewのTag情報取得
-
pascalでの二分探索(バイナリ...
-
delphi
-
Pascalのプログラムです
-
C言語のプログラムで...
-
【FPGA】VHDLのprocessとevent
-
エクセルVBAついて ①if•••••the...
-
FORTRAN77でプログラミング
-
クラスモジュールの処理
-
EXCEL VBA 文字 アドレス 検...
-
パスカル言語
-
Verilog-HDLによる設計において
-
なんで? cEn-P^-1AP=P^-1(cEn-AP)
おすすめ情報