
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA セルの値がおかしいです
-
VBA セル間のリンク修正につい...
-
VBAでCOPYを繰り返すと、処理が...
-
VBAから書き込んだ条件付き初期...
-
WindowsのOutlook を VBA から...
-
マクロの記録を使用したマクロ...
-
vbsでのwebフォームへの入力制限?
-
ダブルクリックで貼り付けた画...
-
エクエルのVBAコードについて教...
-
ExcelのVBAコードについて教え...
-
vbs ブック共有を解除
-
VBAでFOR NEXT分を Application...
-
Excelのマクロについて教えてく...
-
Vba WorkBooks.Openについて教...
-
Vba 型が一致しません(エラー1...
-
【ExcelVBA】5万行以上のデー...
-
VBAでセルの書式を変えずに文字...
-
[Excel VBA]特定の条件で文字を...
-
【VBA】値を変更しながら連続で...
-
vba textboxへの入力について教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードセットにnullの場合
-
subsequentとnextの違いってな...
-
タイムアウトする仕組みを作りたい
-
vbsのmsgboxランダム表示について
-
[至急]Project Euler:#21Amicab...
-
verilogのcase文
-
文字の連結がうまくいかない
-
最大公約数を再帰で求める(pas...
-
Matlab
-
TreeViewのTag情報取得
-
Verilogの文法
-
delphi
-
【FPGA】VHDLのprocessとevent
-
変数に「.」が含まれる場合...
-
VBA public変数はどのようなこ...
-
アクセスできない保護レベルエ...
-
C#のループでtextboxに値を入れ...
-
visual basic初心者です。 visu...
-
VB.NETでのイベントの途中終了
-
他のフォームから別のフォーム...
おすすめ情報