如何填充Treeview节点。通过获取nodes.text并将其设置为true或false,将其检查为true或false

问题描述 投票:0回答:1

我有一个名为treeview1的treeview,在form1中有几个子节点,每个节点都有一个复选框。我得到了选中的节点,并在表中将其选中的值保存为true,而未选中的值保存在数据库中。我需要通过在form2中名为treeview2的另一个treeview中填充检查值来将其更改为true或false。

我的树视图看起来像这样

enter image description here

为此,我必须在form2中的另一个TreeView2中修改那些检查的值。在这里,我需要获取节点名称并从数据库中设置True或False,然后在选中的Treeview2节点中进行填充。

注意:我已在数据库中将Checked节点保存为True和Unchecked为False。因此,我必须通过填充Form2中的treeView2再次对其进行修改。我只需要一种方法来检查Node.Text并从数据库设置为选中状态。

这里是收集列表中所有节点名称的代码

 private IEnumerable<TreeNode> ModifyGetUNNodes(string NodeName, bool nodeVale)
    {
        var checkUnNodes = new List<TreeNode>();
        GetUnNodes(checkUnNodes, ModifyTreeView.Nodes, NodeName, nodeVale);
        return checkUnNodes;
    }

    // Return a list of the TreeNodes that are checked.
    private static void GetNodes(ICollection<TreeNode> checkedNodes, IEnumerable nodes)
    {
        foreach (TreeNode node in nodes)
        {
            checkedNodes.Add(node);

            // Check the node's descendants.
            GetNodes(checkedNodes, node.Nodes);
        }
    }

从上面的代码中,我得到了节点的所有名称。在这里,我需要检查名称并设置检查数据的正确或错误

        var allNodes = ModifyGetNodes();
        var allNodeList = allNodes.Select(node => node.Text).ToList();

形成此检查节点文本

 if(node.Text == "Bread")
     node.checked = y.Bread

这里y.Bread为值true。

if(node.Text =="Chips")
      node.checked =y.Chips

这里y.Chips为值false。

有些类似的操作,我必须在form2的treeview2中检查名称并设置检查值enter image description here

当我加载Form2时,我必须通过获取数据表单数据库来检查节点

[注意:我在Node Bread中将Node Bread Checked设置为true,并且将Wine取消选中,因此将在Wine列中另存为(False)。

我有一个名为treeview1的treeview,在form1中有几个子节点,每个节点都有一个复选框。我得到了选中的节点,并在表中将其选中的值保存为true,而未选中的值保存在数据库中。 i ...

c# winforms treeview
1个回答
0
投票

这里是我得到答案的代码

© www.soinside.com 2019 - 2024. All rights reserved.