新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章给大家分享的是有关asp.net中TreeView如何递归循环子节点生成树形菜单的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
洛龙网站建设公司创新互联建站,洛龙网站设计制作,有大型网站制作公司丰富经验。已为洛龙上千家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的洛龙做网站的公司定做!具体如下:
这里主要用到递归循环获取子结点
////// 生成根节点 /// /// protected void BindTreeView(long ID, TreeView treeview) { DataTable dt = menuLogic.GetMenu2(ID, User.Identity.Name); treeview.Nodes.Clear(); DataRow[] parentrow = dt.Select("par_id=0"); for (int i = 0; i < parentrow.Length; i++) { TreeNode rootnode = new TreeNode(); rootnode.Text = parentrow[i]["node_name"].ToString(); //parentrow[i][3].ToString(); rootnode.Value = parentrow[i]["ID"].ToString(); //parentrow[i][1].ToString(); 主键 rootnode.Expanded = true; rootnode.Selected = false; rootnode.SelectAction = TreeNodeSelectAction.None; treeview.Nodes.Add(rootnode); CreateChildNode(rootnode, dt); // } } ////// 生成子节点 /// /// /// protected void CreateChildNode(TreeNode parentNode, DataTable datatable) { DataRow[] rowlist = datatable.Select("par_id=" + parentNode.Value); for (int i = 0; i < rowlist.Length; i++) { TreeNode node = new TreeNode(); if (datatable.Select("par_id=" + rowlist[i]["ID"].ToString().Trim()).Length > 0) { node.Text = rowlist[i]["node_name"].ToString(); node.Value = rowlist[i]["ID"].ToString(); } else { node.Text = "" + rowlist[i]["node_name"].ToString() + ""; node.Value = rowlist[i]["ID"].ToString(); } node.Expanded = false; node.Selected = false; node.SelectAction = TreeNodeSelectAction.None; parentNode.ChildNodes.Add(node); CreateChildNode(node, datatable); //递归调用 } }
感谢各位的阅读!关于“asp.net中TreeView如何递归循环子节点生成树形菜单”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!