成功最有效的方法就是向有经验的人学习!

递归绑定树形菜单

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); 
            } 
        }

赞(1) 打赏
未经允许不得转载:陈桂林博客 » 递归绑定树形菜单
分享到

大佬们的评论 抢沙发

全新“一站式”建站,高质量、高售后的一条龙服务

微信 抖音 支付宝 百度 头条 快手全平台打通信息流

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册