asp.net 無限分類第1/3頁
更新時(shí)間:2008年02月25日 14:37:11 作者:
asp.net一個(gè)可以添加無限結(jié)點(diǎn)的樹asp.net 無限分級(jí) asp.net 樹型菜單
1、遞歸函數(shù)
// '遞歸遍歷自建目錄樹=============================================================================
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++;//記錄當(dāng)前樹下葉子的個(gè)數(shù),即當(dāng)前葉子的號(hào)
}
ShowDir(DtDataRow["mlid"].ToString(),sIndex0);
}
sqlCon.Close();
}
// '遞歸遍歷自建目錄樹=============================================================================
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++;//記錄當(dāng)前樹下葉子的個(gè)數(shù),即當(dāng)前葉子的號(hào)
}
ShowDir(DtDataRow["mlid"].ToString(),sIndex0);
}
sqlCon.Close();
}
相關(guān)文章
.Net Core WebApi部署在Linux服務(wù)器上的方法
這篇文章主要介紹了.Net Core WebApi部署在Linux服務(wù)器上的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
一個(gè)簡單的asp.net 單點(diǎn)登錄實(shí)現(xiàn)
上次做了學(xué)校的火車訂票系統(tǒng),那邊要求要從學(xué)生信息平臺(tái)直接點(diǎn)過來就是登錄狀態(tài),不用在重新登錄。學(xué)生信息平臺(tái)原來是用asp做的,而火車訂票系統(tǒng)是asp.net做的。兩個(gè)網(wǎng)站的學(xué)生信息調(diào)用的是同一個(gè)數(shù)據(jù)庫。2009-11-11
asp.net讀取excel中的數(shù)據(jù)并綁定在gridview
這篇文章主要介紹了asp.net讀取excel中的數(shù)據(jù)并綁定在gridview上的方法,需要的朋友可以參考下2014-02-02
ASP.NET Core3.1 Ocelot路由的實(shí)現(xiàn)
這篇文章主要介紹了ASP.NET Core3.1 Ocelot路由的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Repeater的FooterTemplate中控件內(nèi)容設(shè)置方法
Repeater的FooterTemplate中控件內(nèi)容設(shè)置方法,需要的朋友可以參考下。2009-12-12
Ajax實(shí)現(xiàn)異步刷新驗(yàn)證用戶名是否已存在的具體方法
由于要做一個(gè)注冊(cè)頁面,看到許多網(wǎng)站上都是使用Ajax異步刷新驗(yàn)證用戶名是否可用的,所以自己也動(dòng)手做一個(gè)小實(shí)例2014-02-02

