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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付の重複
-
subsequentとnextの違いってな...
-
共有フォルダの「共有のアクセ...
-
パーソナルXLSBのfuctionを呼び...
-
EXCEL2010 VBA SelectionChange...
-
リストビューの列ヘッダーの幅...
-
C言語のサフィックスについて
-
配列に複数の値があるか簡潔に...
-
VBでローマ字入力とかな入力を...
-
コンボボックスからテキストボ...
-
VB.NETでのイベントの途中終了
-
C++からfortran77を呼び出す
-
構造体のコピー
-
Excel VBAでsub,dimは何の略?
-
三項でたとえば交換って
-
PL/SQLのプロシージャ間でカー...
-
テキストボックスを空白にする方法
-
文字間の幅の設定
-
VB6.0 sp5]テキストボックスと...
-
GetNextWindowがDLLファイルUse...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードセットにnullの場合
-
タイムアウトする仕組みを作りたい
-
subsequentとnextの違いってな...
-
verilogのcase文
-
【FPGA】VHDLのprocessとevent
-
vbsのmsgboxランダム表示について
-
TreeViewのTag情報取得
-
Verilogの文法
-
リスト間のアイテム移動について
-
日付の重複
-
文字の連結がうまくいかない
-
エクセルVBAついて ①if•••••the...
-
delphi
-
なんで? cEn-P^-1AP=P^-1(cEn-AP)
-
Scilabの&と&&に関する質問です
-
vb2010webページのリンクをクリ...
-
EXCEL VBA 文字 アドレス 検...
-
整順リスト形式の英単語辞書(pa...
-
Matlab
-
三項でたとえば交換って
おすすめ情報