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);  調用遞歸綁定
    }
複製代碼

相關文章
相關標籤/搜索