递归绑定树形菜单
递归绑定树形菜单
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); 
            } 
        }
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号