[ASP.net]TreeView(1)(一次性递归所有节点)
數(shù)據(jù)庫(kù)Table
==============================================
int key????????????????? int???????????????????nvarchar(100)?????????nvarchar(100)??????nvarchar(100)?????????? nvarchar(100)
NODE_ID??????? PARENT_ID??????? NODE_NAME??????????? ADDRESS??????? IMAGE_URL??????? SELECT_IMAGE_URL
1??????????????????? 0?????????????????????????node_1?????????????????????http://*??????????????*.gif??????????????????????*.gif
2??????????????????? 1???????????????????????? node_1_1????????????????? http://*????????????? *.gif???????????????????? *.gif
3??????????????????? 2?????????????????????????node_1_1_1??????????????http://*?????????????? *.gif?????????????????????*.gif
4??????????????????? 0?????????????????????????node_2?????????????????????http://*???????????????*.gif?????????????????????*.gif
5??????????????????? 4?????????????????????????node_2_1??????????????????http://*??????????????*.gif??????????????????????*.gif
6??????????????????? 5?????????????????????????node_2_1_1??????????????http://*???????????????*.gif?????????????????????*.gif
7??????????????????? 0?????????????????????????node_3?????????????????????http://*???????????????*gif??????????????????????*.gif
8??????????????????? 7???????????????????????? node_3_1????????????????? http://*??????????????*.gif??????????????????????*.gif
==============================================
代碼程序:
==============================================
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Components;
using Microsoft.Web.UI.WebControls;
namespace Register
{
?/// <summary>
?/// WebForm1 的摘要說(shuō)明。
?/// </summary>
?public class WebForm1 : System.Web.UI.Page
?{
??protected Microsoft.Web.UI.WebControls.TreeView tvList;
??private SqlControl objSqlControl;
??private DataTable objDataTable;
?
??private void Page_Load(object sender, System.EventArgs e)
??{
???// 在此處放置用戶代碼以初始化頁(yè)面
???if ( ! Page.IsPostBack )
???{
????objSqlControl = new SqlControl();
????TreeNode node = new TreeNode();
????objDataTable = objSqlControl.SelectData();??//取得所有數(shù)據(jù)得到DataTable
????this.CreateTree( tvList.Nodes,"0" );?//建立節(jié)點(diǎn)
???}
??}
??private void CreateTree( TreeNodeCollection node,string parent_id )
??{
???DataView dvList = new DataView( this.objDataTable );
???dvList.RowFilter = "PARENT_ID='" + parent_id + "'";??//過(guò)濾父節(jié)點(diǎn)
???TreeNode nodeTemp;
???foreach ( DataRowView dv in dvList )
???{
????nodeTemp = new TreeNode();
????nodeTemp.ID = dv["NODE_ID"].ToString();??//節(jié)點(diǎn)ID
????nodeTemp.Text = dv["NODE_NAME"].ToString();??//節(jié)點(diǎn)名稱
????nodeTemp.NavigateUrl = dv["ADDRESS"].ToString();??//節(jié)點(diǎn)鏈接地址
????nodeTemp.ImageUrl = dv["IMAGE"].ToString();??//節(jié)點(diǎn)圖片(未展開(kāi))
????nodeTemp.SelectedImageUrl = dv["IMAGE_EX"].ToString();??//節(jié)點(diǎn)圖片(展開(kāi))
????nodeTemp.Target = "_parent";??//節(jié)點(diǎn)鏈接Target
????
????node.Add( nodeTemp );??//加入節(jié)點(diǎn)
????this.CreateTree( nodeTemp.Nodes,nodeTemp.ID );??//遞歸
???}
??}
=================================================
轉(zhuǎn)載于:https://www.cnblogs.com/zzy2740/archive/2005/11/01/266514.html
總結(jié)
以上是生活随笔為你收集整理的[ASP.net]TreeView(1)(一次性递归所有节点)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 最佳开源软件一览
- 下一篇: 利用委托机制处理.NET中的异常