使用tree实现无限级树形菜单

//使用tree实现无限级树形菜单
  1. //使用tree实现无限级树形菜单(单张表)
  2. SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["字符串"].ConnectionString);
  3.         string cmdText = "SELECT * FROM CkType WHERE Flag='1'";//sql语句
  4.         DataSet ds = new DataSet();
  5.         protected void Page_Load(object sender, EventArgs e)
  6.         {
  7.             if (!Page.IsPostBack)
  8.             {
  9.                 con.Open();
  10.                 SqlCommand myCommand = new SqlCommand(cmdText, con);
  11.                 SqlDataAdapter dd = new SqlDataAdapter(myCommand);
  12.                 dd.Fill(ds);
  13.                 AddTree(-1, (TreeNode)null);//-1根据你根节点的父节点而定
  14.             }
  15.         }
  16.         public void AddTree(int ParentID, TreeNode pNode)
  17.         {
  18.             DataView dvTree = new DataView(ds.Tables[0]);
  19.             //过滤ParentID,得到当前的所有子节点   
  20.             dvTree.RowFilter = "[Tpid]   =" + ParentID;
  21.             foreach (DataRowView Row in dvTree)
  22.             {
  23.                 TreeNode Node = new TreeNode();
  24.                 if (pNode == null)
  25.                 {         //添加根节点   
  26.                     Node.Text = Row["TypeName"].ToString();//名字
  27.                     Node.Target = "mainFrame";
  28.                     Node.NavigateUrl = "knowledge/kdshow.aspx?TID=" + Row["Tid"].ToString();
  29.                     TreeView1.Nodes.Add(Node);//添加节点
  30.                     Node.Expanded = true;//是否展开
  31.                     AddTree(Int32.Parse(Row["Tid"].ToString()), Node); //再次递归   
  32.                 }
  33.                 else
  34.                 {   //添加当前节点的子节点   
  35.                     Node.Text = Row["TypeName"].ToString();
  36.                     Node.Target = "mainFrame";
  37.                     Node.ImageUrl = "~/SystemAdmin/knowledge/Images/folder_go.png";
  38.                     Node.NavigateUrl = "knowledge/kdshow.aspx?TID=" + Row["Tid"].ToString();
  39.                     pNode.ChildNodes.Add(Node);
  40.                     Node.Expanded = false;
  41.                     AddTree(Int32.Parse(Row["Tid"].ToString()), Node);           //再次递归   
  42.                 }
  43.             }
  44.         }
  45.  }
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值