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

  }

123下一页阅读全文
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!