亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

Asp.net treeview實現無限級樹實現代碼

2024-07-10 13:19:27
字體:
來源:轉載
供稿:網友

先看看效果圖:

Asp.net treeview實現無限級樹實現代碼

先看看數據庫表的設計,數據表主要包括ID,Name,ParentID這三項,其中ID是主鍵,ParentID對應節點的父節點:

Asp.net treeview實現無限級樹實現代碼


方法一:用遞歸遍歷數據,并將節點逐個添加到treeview中去。
1.先進行數據庫連接和數據的讀取,并將根節點先添加進treeview中,并利用遞歸getTreeView()實現數據的遍歷和添加:

復制代碼 代碼如下:


protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
TreeNode nodeCategory ;
connection conn = new connection();
List<Category> category = conn.getCategory();
Stack<Category> storeCategory = new Stack<Category>();
storeCategory.Push(category[0]);
nodeCategory = new TreeNode(category[0].Name.Trim(), category[0].Id.Trim());
TreeView1.Nodes.Add(nodeCategory);
getTreeView(storeCategory, category, nodeCategory);
}
}


2.數據遍歷的遞歸函數,比較簡單就不多說了。

復制代碼 代碼如下:


public void getTreeView(Stack<Category> categoryStack,List<Category> categoryList,TreeNode e)
{
Category tmp;
if(categoryStack.Count>0)
{
tmp=categoryStack.Pop();
for(int i=0;i<categoryList.Count;i++)
if(categoryList[i].ParentId.Trim()==tmp.Id.Trim())
{
categoryStack.Push(categoryList[i]);
TreeNode childNote = new TreeNode(categoryList[i].Name.Trim(), categoryList[i].Id.Trim());
e.ChildNodes.Add(childNote);
getTreeView(categoryStack, categoryList, childNote);
}
}
}


方法二:用TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e)事件響應來逐個讀取子節點。
1.第一步基本和上一方法的第一步一致,只是要將節點的設置為不展開。

復制代碼 代碼如下:


protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
TreeNode nodeCategory ;
connection conn = new connection();
List<Category> category = conn.getCategory();
nodeCategory = new TreeNode(category[0].Name.Trim(), category[0].Id.Trim());
nodeCategory.PopulateOnDemand = true;
nodeCategory.Collapse();
nodeCategory.NavigateUrl = "http://blog.csdn.net/longlongago2000";
nodeCategory.Target = "_blank";
TreeView1.Nodes.Add(nodeCategory);
}
}


2.再改寫TreeView1_TreeNodePopulate(),根據鼠標的點擊得到該節點的ID,然后根據該ID進行數據的讀取,將其下的子節點讀出。

復制代碼 代碼如下:


protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e)
{
int categoryID = Int32.Parse(e.Node.Value);
connection conn = new connection();
List<Category> category = conn.getCategory();
foreach (Category tmp in category)
{
if (categoryID.ToString() == tmp.ParentId.Trim())
{
TreeNode childNote = new TreeNode(tmp.Name.Trim(), tmp.Id.Trim());
foreach (Category cate in category)
{
if (tmp.Id.Trim() == cate.ParentId.Trim())
{
childNote.PopulateOnDemand = true;
childNote.Collapse();
break;
}
else
childNote.Expand();
}
childNote.NavigateUrl ="http://blog.csdn.net/longlongago2000" ;
childNote.Target = "_blank";
e.Node.ChildNodes.Add(childNote);
}
}


以上兩種方法都可以實現無限級分類,不過第一種方法顯然更好一些,第二種方法不可以實現全部展開功能,而第一種可以。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91人人爽人人爽人人精88v| 国产成人精品视频在线观看| 中文字幕精品www乱入免费视频| 成人精品aaaa网站| 日韩欧美成人网| 欧美一级视频免费在线观看| 国产剧情日韩欧美| 欧美精品在线免费| 日韩av综合网站| 国产99视频精品免视看7| 亚洲精品视频在线播放| 中文字幕最新精品| 亚洲国产欧美久久| 2019精品视频| 欧美日韩第一视频| 91国产视频在线| 91精品久久久久久久久久久| 91久久久久久久久久| 亚洲韩国日本中文字幕| 一本色道久久综合狠狠躁篇的优点| 亚洲国产精品一区二区久| 国产精品亚洲自拍| 黑人巨大精品欧美一区二区三区| 国产精品成久久久久三级| 成人精品久久av网站| 欧美国产精品人人做人人爱| 国产精品丝袜久久久久久高清| 69视频在线播放| 日韩精品中文字幕有码专区| 国产成人精品日本亚洲专区61| 久久免费视频网| 亚洲人成五月天| 97免费视频在线| 欧美激情在线播放| 亚洲欧美中文字幕| 色琪琪综合男人的天堂aⅴ视频| 国产精品福利网| 欧美疯狂xxxx大交乱88av| 日韩a**站在线观看| 日韩国产欧美区| 欧美视频在线观看 亚洲欧| 国产福利成人在线| 91久久国产婷婷一区二区| 欧美老少做受xxxx高潮| 亚洲日本中文字幕| 久久精品免费播放| 成人写真福利网| 欧美在线一区二区视频| 亚洲男人天堂2019| 亚洲午夜性刺激影院| 亚洲色图15p| 精品偷拍各种wc美女嘘嘘| 久久久久久欧美| 亚洲综合日韩中文字幕v在线| 国产精品视频久久久久| 亚洲欧洲午夜一线一品| 欧美激情国内偷拍| 国产精品久久久久国产a级| 国产亚洲欧洲黄色| 久久久日本电影| 中文日韩电影网站| 国产精品久久99久久| 国内精品伊人久久| 最近2019年中文视频免费在线观看| 欧美洲成人男女午夜视频| 国产精品白嫩美女在线观看| 日韩极品精品视频免费观看| 久久深夜福利免费观看| 国产精品人人做人人爽| 日本午夜人人精品| 欧洲中文字幕国产精品| 一本一本久久a久久精品牛牛影视| 亚洲国产99精品国自产| 最近2019好看的中文字幕免费| 亚洲国产高清高潮精品美女| 欧美中文字幕第一页| 色综合久久精品亚洲国产| 欧美丰满少妇xxxxx做受| 精品网站999www| 另类天堂视频在线观看| 大胆欧美人体视频| 色综合久久88| 国产精品色午夜在线观看| 日韩美女在线播放| 在线电影av不卡网址| 一区二区三区精品99久久| 国产97色在线| 欧美一二三视频| 九九精品在线观看| 国产伊人精品在线| 日韩av日韩在线观看| 国产91精品黑色丝袜高跟鞋| 高清亚洲成在人网站天堂| 91亚洲精品久久久久久久久久久久| 7777精品视频| 国产精品激情自拍| 午夜精品久久久久久久男人的天堂| 日韩大陆毛片av| 亚洲久久久久久久久久久| 国产精品久久久久久久久粉嫩av| 亚洲精品99久久久久中文字幕| 国产精品流白浆视频| 95av在线视频| 欧美精品福利视频| 久久久成人精品视频| 午夜精品www| 久久久av网站| 日韩va亚洲va欧洲va国产| yw.139尤物在线精品视频| 国产精品精品视频一区二区三区| 亚洲电影免费观看高清完整版| 日本亚洲精品在线观看| 亚洲成人a**站| 色阁综合伊人av| 亚洲欧美激情四射在线日| 日韩网站免费观看高清| 96pao国产成视频永久免费| 欧美日韩综合视频网址| 日韩欧美黄色动漫| 亚洲男人天堂网站| 国产美女主播一区| 久久久亚洲成人| 欧美精品999| 97视频免费在线看| 亚洲国产天堂久久综合网| 97精品久久久| 久久久久久久久久久免费| 日韩中文字幕视频在线| 91精品视频在线| 国产精品视频中文字幕91| 成人免费视频在线观看超级碰| 日本成人在线视频网址| 亚洲高清一二三区| 精品国产一区二区三区久久| 亚洲国产精品va在看黑人| 国产精品久久久久久久久影视| 久久久久久国产精品三级玉女聊斋| 91av在线播放视频| 欧美大肥婆大肥bbbbb| 国产精品jvid在线观看蜜臀| 正在播放欧美视频| 久久久久一本一区二区青青蜜月| 国产+成+人+亚洲欧洲| 欧美精品在线播放| 在线丨暗呦小u女国产精品| 精品国产一区二区三区在线观看| 精品国产一区二区三区久久| 国产第一区电影| 欧美专区国产专区| 欧美激情在线有限公司| 国内自拍欧美激情| 福利精品视频在线| 欧美精品精品精品精品免费| 午夜精品久久久99热福利| 91精品国产91久久久久久不卡| 欧美日韩一区二区免费视频| 77777少妇光屁股久久一区| 亚洲男人天堂视频| 日韩小视频在线| 国产免费一区二区三区在线观看| 午夜剧场成人观在线视频免费观看| 俺去亚洲欧洲欧美日韩| 欧美人与性动交a欧美精品| 亚洲一区二区中文|