Treeview XML获取所有选中的复选框节点值 [英] Treeview XML get all selected checked box nodes value

查看:91
本文介绍了Treeview XML获取所有选中的复选框节点值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下代码从XML文件填充树视图控件.在树视图控件中,每个节点都有一个复选框.如何获取所有选定的(checkbox.checked = true)节点值?

The following code populates a treeview control from a XML file. In the treeview control each node has a check box. How can I get all the selected (checkbox.checked = true) nodes value?
Something like

For all node.checkbox.checked = true then
Msgbox node.value
next
Dim recordNode As TreeNode
        Dim leaderNode As TreeNode
        Dim controlfieldNode As TreeNode
        Dim datafielNode As TreeNode

        For Each Record As XElement In doc...<record>
            recordNode = TreeView1.Nodes.Add(Record.Name.ToString)
            For Each Leader As XElement In Record...<leader>
                leaderNode = recordNode.Nodes.Add(Leader.Name.ToString)
                For Each Controlfield As XElement In Record...<controlfield>
                    controlfieldNode = recordNode.Nodes.Add(Controlfield.@tag.ToString)
                    For Each Datafield As XElement In Record...<datafield>
                        datafielNode = recordNode.Nodes.Add(Datafield.@tag.ToString)
                        For Each Subfield As XElement In Datafield...<subfield>
                            datafielNode.Nodes.Add(Subfield.@code.ToString)

                        Next
                    Next
                Next
            Next
        Next

推荐答案

您需要创建一个列表来保存已检查的节点并递归调用函数.像这样的东西:

You need to create a list to hold the checked nodes and call a function recursively. Something like:

Sub CheckedNodes(list as List(Of TreeNode), currentnode as TreeNode)

  For Each node as TreeNode in currentnode.Nodes
    If node.Checked Then list.Add(node)
    CheckedNodes(list, node)
  Next

End Sub


这篇关于Treeview XML获取所有选中的复选框节点值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆