• asp.net使用treeview控件,递归加载


    protected void Page_Load(object sender, EventArgs e)
    {
    MyTree t1 = new MyTree { ID = 1, Name = "adimn1", ParentId = 0 };
    MyTree t2 = new MyTree { ID = 2, Name = "adimn11", ParentId = 1 };
    MyTree t3 = new MyTree { ID = 3, Name = "adimn12", ParentId = 1 };
    MyTree t4 = new MyTree { ID = 4, Name = "adimn13", ParentId = 1 };
    MyTree t5 = new MyTree { ID = 5, Name = "adimn5", ParentId = 0 };
    MyTree t6 = new MyTree { ID = 6, Name = "adimn51", ParentId = 5 };
    MyTree t7 = new MyTree { ID = 7, Name = "adimn52", ParentId = 5 };
    MyTree t8 = new MyTree { ID = 8, Name = "adimn8", ParentId = 0 };
    List<MyTree> list = new List<MyTree> {
    t1,t2,t3,t4,t5,t6,t7,t8
    };
    BindTreeView(TreeView1, true, false, new MyTree { Name = "管理首页", ID = 0 }, list);
    }

    public void BindTreeView(TreeView tview, bool isExpanded, bool isLink, MyTree root, List<MyTree> childs)
    {
    tview.Nodes.Clear();
    TreeNode rootNode = new TreeNode(root.Name, root.ID.ToString());
    rootNode.Expanded = isExpanded;
    if (isLink)
    {
    rootNode.NavigateUrl = root.Navigator;
    rootNode.Target = root.Target;
    rootNode.ImageUrl = root.ImageUrl;
    }
    tview.Nodes.Add(rootNode);
    this.CreateChildNodes(rootNode, childs, isExpanded, isLink);

    }

    public void CreateChildNodes(TreeNode parentNode, List<MyTree> trees, bool isExpanded, bool isLink)
    {
    var _mytrees = trees.Where(o => o.ParentId.ToString() == parentNode.Value);
    foreach (MyTree t in _mytrees)
    {
    ///创建新节点
    TreeNode node = new TreeNode();
    ///设置节点的属性
    node.Text = t.Name;
    node.Value = t.ID.ToString();
    node.Expanded = isExpanded;

    if (isLink == true)
    {
    ///格式化后台管理页面的链接地址
    node.NavigateUrl = t.Navigator;
    node.Target = "MainFrame";
    }
    parentNode.ChildNodes.Add(node);
    ///递归调用,创建其他节点
    CreateChildNodes(node, trees, isExpanded, isLink);
    }
    }

  • 相关阅读:
    一步一步教你在GridView中实现可收缩的面板
    收藏微软面试智力题 (附答案)
    WF4.0实战(一):文件审批流程
    WF4.0实战(六):控制WPF动画
    WF4.0实战(十一):邮件通知
    WF4.0实战(十):分布式酒店订房系统
    WF4.0实战(十六):模拟红绿灯
    WF4.0实战(五):实现一个直观易扩展的自动测试框架
    Beginning WF4读书笔记(一):创建一个简单的工作流
    DataGridView打印类
  • 原文地址:https://www.cnblogs.com/rash/p/2554665.html
Copyright © 2020-2023  润新知