Winform—TreeView递归绑定树节点

TreeView是Winform 的一个控件,通常经过动态数据给其赋值,先给父节点赋值,而后再给其子节点赋值,如此循环反复。node

1、递归对数据源的要求

在递归绑定树节点时,咱们对数据库的树表的设计方式,通常都是采用树状结构去设计表。
通常状况是设计表的时候,有父级单位的代号,而后2级目录就绑在1级目录下面,3级绑定在2级下面,同级并列.数据库

第一层节点的parentid为0,第二层节点的parentid根据上一层的主键ID来定,若是有第三层的话,如此反复……

2、代码

public void TreeViewBind(TreeNode chilNode,int parentId)
    {
    //数据源,GetTreeData()是我本身打的一个获取数据源方法
        var data = GetTreeData().Where(m=>m.ParentId == parentId);
          foreach (var item in data)
            {
            //建立一个新节点
                TreeNode node = new TreeNode(item.Name);
                node.Tag = item.Id;
                //付完值,添加到传入节点的子节点集合中
                chilNode.Nodes.Add(node);
                //从新调用递归绑定
                TreeViewBind(node, int.Parse(node.Tag.ToString()));
            }
    }
复制代码

页面加载这个方法bash

private void BankManagementForm_Load(object sender, EventArgs e)
    {
        TreeNode node = new TreeNode("银行系统管理系统");
        node.Tag = 0;
        this.tvBankTree.Nodes.Add(node);//给当前treeview添加一个父节点
        TreeViewBind(node,0);  调用递归绑定
    }
复制代码

相关文章
相关标签/搜索