TreeView是Winform 的一個控件,通常經過動態數據給其賦值,先給父節點賦值,而後再給其子節點賦值,如此循環反覆。node
在遞歸綁定樹節點時,咱們對數據庫的樹表的設計方式,通常都是採用樹狀結構去設計表。
通常狀況是設計表的時候,有父級單位的代號,而後2級目錄就綁在1級目錄下面,3級綁定在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); 調用遞歸綁定
}
複製代碼