///<sumary>
///初始化父节点
///</sumary>
private void InitTreeView()
{
Ilist list = 数据源;
for(int i = 0 ; i < list.Count; i++)
{
TreeNode node = new TreeNode();
if((list[i]).Parent == null)
{
node.Text = list[i].Name;
node.Name = list[i].Id;
TreeView.Nodes.Add(node);
BindChild(node);
}
}
}
///<sumary>
///遍历子节点
///</sumary>
private void BindChild(TreeNode node)
{
Ilist list = 数据源;
for(int i = 0 ; i < list.Count; i++)
{
if((list[i]).Parent.Id == node.Name)
{
TreeNode childNode = new TreeNode();
childNode.Text = list[i].Name;
childNode.Name = list[i].Id;
node.Nodes.Add(childNode);
BindChild(childNode);
}
}
}
具体实现时要根据TreeView的数据源做相应调整 ,以上代码只是本人构造多层递归树的基本思路