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); 调用递归绑定
}
复制代码