• 递归绑定树形菜单


                      递归绑定树形菜单

    public void BindTreeVew(TreeView treeView, bool isExpanded, string selected)
            {
               
    //将获取的数据转换为 一个DataTable
                DataTable dt = GetDataTable();
                treeView.Nodes.Clear();
    //清空 树的所有节点
               
    //筛选数组
                DataRow[] rowlist = dt.Select("ParentId='0'");
               
    if (rowlist.Length <= 0) return;
               
    //创建跟节点
                TreeNode rootNode = new TreeNode();
                rootNode.Text
    = rowlist[0]["Text"].ToString();
                rootNode.Value
    = rowlist[0]["NodeId"].ToString();
                rootNode.Expanded
    = isExpanded;
                rootNode.Selected
    = true;
               
    //添加跟节点
                treeView.Nodes.Add(rootNode);
                CreateChildNode(rootNode, dt, isExpanded, seleced);
            }
           
    private void CreateChildNode(TreeNode parentNode, DataTable dt, bool isExpanded, string seleced)
            {
               
    //选择数据
                DataRow[] rowList = dt.Select("ParentId=" + Convert.ToInt32(parentNode.Value));
               
    foreach (DataRow row in rowList)
                {
                   
    //创建一个新的节点了
                    TreeNode node = new TreeNode();
                    node.Text
    = row["Text"].ToString();
                    node.Value
    = row["NodeId"].ToString();
                    node.NavigateUrl
    =row["Url"].ToString();
                    node.Expanded
    = isExpanded;
                   
    if (node.Value == seleced)
                    {
                        node.Selected
    = true;
                    }
                    parentNode.ChildNodes.Add(node);
                   
    //递归调用,创建其他节点
                    CreateChildNode(node, dt, isExpanded, seleced);
                }
            }

  • 相关阅读:
    Java学习笔记三十:Java小项目之租车系统
    Java学习笔记二十九:一个Java面向对象的小练习
    Java学习笔记二十八:Java中的接口
    Java学习笔记二十七:Java中的抽象类
    Java学习笔记二十六:Java多态中的引用类型转换
    Java学习笔记二十五:Java面向对象的三大特性之多态
    Java学习笔记二十四:Java中的Object类
    Java学习笔记二十三:Java的继承初始化顺序
    Java学习笔记二十二:Java的方法重写
    Java学习笔记二十一:Java面向对象的三大特性之继承
  • 原文地址:https://www.cnblogs.com/Mr_JinRui/p/2058234.html
Copyright © 2020-2023  润新知