asp.net一个可以添加无限结点的树asp.net 无限分级 asp.net 树型菜单
1、递归函数 
//  '递归遍历自建目录树============================================================================= 
  private void ShowDir(string sZml,string sIndex) 
  { 
   System.Data.SqlClient.SqlConnection sqlCon=new System.Data.SqlClient.SqlConnection(connectionString); 
   string sqlStr="select * from mltable where mlzml=N'"+ sZml +"'"; 
   System.Data.SqlClient.SqlDataAdapter sqlAda=new System.Data.SqlClient.SqlDataAdapter(sqlStr,sqlCon); 
   System.Data.DataTable Dt=new DataTable(); 
   sqlAda.Fill(Dt); 
   Microsoft.Web.UI.WebControls.TreeNode Node1; 
   string sIndex0; 
   string sIndex2; 
   int theId; 
   int sIndex1=0;//记录树的最后一位值 
   foreach(System.Data.DataRow DtDataRow in Dt.Rows) 
   { 
    theId=Convert.ToInt32(DtDataRow["mlid"]); 
    Node1=new Microsoft.Web.UI.WebControls.TreeNode(); 
    Node1.Text=DtDataRow["mlmc"].ToString(); 
    Node1.ImageUrl="images/trees/folder.gif"; 
    Node1.ExpandedImageUrl="images/trees/folderopen.gif"; 
    Node1.Expanded=false; 
    Node1.NavigateUrl="Admin_Tree_Show.aspx?theid=" + theId +"&sIndex="+ sIndex+"."+sIndex1.ToString(); 
    Node1.ID=""; 
    Node1.Target="main"; 
    if(sIndex=="") 
    { 
     sIndex2=TreeView1.Nodes.IndexOf(Node1).ToString(); 
     sIndex0=sIndex2; 
    } 
    else 
    { 
     Microsoft.Web.UI.WebControls.TreeNode pNode=TreeView1.GetNodeFromIndex(sIndex); 
     pNode.Nodes.Add(Node1); 
     sIndex2=pNode.Nodes.IndexOf(Node1).ToString(); 
     sIndex0=sIndex + "." + sIndex2; 
     sIndex1++;//记录当前树下叶子的个数,即当前叶子的号 
    } 
    ShowDir(DtDataRow["mlid"].ToString(),sIndex0); 
    
   } 
   sqlCon.Close(); 
  } 
1
您可能感兴趣的文章:
相关文章
最新评论
 站长推荐 正版Windows 10 家庭/专业版,操作系统限时抢购[¥1088→¥248] 站长推荐 Microsoft Office 2016/2019/365 正版最低价仅需[ ¥148元]
大家感兴趣的内容
最近更新的内容
常用在线小工具
