.NET平台下创建动态Web树形结构程序设计

使用TreeView控件创建树形结构

  数据库结构设计

   本文使用的是MS-SQLSERVER2000,涉及到以下两个数据库表:

表名

说明

表名

说明

MainBords

主版编号表

SubBorads

子版表

 

 

 

 

 

 

 

各表中的字段如下:

MainBoards中的字段设置

字段

类型

说明

MainID

整型

索引号

MainName

字符型

主版名称

 SubBoards中的字段设置:

 SubBoards中的字段设置:

 SubBoards中的字段设置:

 SubBoards中的字段设置:

 

字段

类型

说明

SubID

整型

索引号

MainID

整型

对应的主版编号

SubName

字符型

子版名称

 

字段

类型

说明

SubID

整型

索引号

MainID

整型

对应的主版编号

SubName

字符型

子版名称

 

字段

类型

说明

SubID

整型

索引号

MainID

整型

对应的主版编号

SubName

字符型

子版名称

 

字段

类型

说明

SubID

整型

索引号

MainID

整型

对应的主版编号

SubName

字符型

子版名称

 

 

 

 

 

 

 

 

 

32 创建树形结构:

32 创建树形结构:

32 创建树形结构:

32 创建树形结构:

 32 创建树形结构:

   要实现树形结构,我们首先必须添加主节点,也就是MainBoards表。

   先连接数据库:

SqlConnection CN = new SqlConnection();

      //初始化连接字符串,请根据实际情况修改

CN.ConnectionString= "data source=localhost;initial catalog=bbs;persist security info=False;user id=sa;Password=sa;";

                   CN.Open();

                  SqlDataAdapter adp = new SqlDataAdapter("select * from MainBoards",CN);

                   DataSet ds=new DataSet();

                   adp.Fill(ds);

                  

             

  添加主节点 

int numMain=ds.Tables[0].Rows.Count;

for(int i=0;i<numMain;i++)

                   {

                       TreeNode Node=new TreeNode() ;

                       Node.Text =ds.Tables[0].Rows[i][1].ToString();

                       tree.Nodes.Add(Node);

                       Node.Expanded=true;

                      

                       int MainID=Convert.ToInt32(ds2.Tables[0].Rows[i][0].ToString());

                   //调用AddSubTree方法添加子节点  

AddSubTree(MainID,Node);

    

AddSubTree方法

 

 

 

 

 

 

 

 

              public void AddSubTree(int MainID,TreeNode pNode)

         {  //读取SubBorads表中的内容

              SqlConnection con = new SqlConnection();

              con.ConnectionString= "data source=localhost;initial catalog=bbs;persist security info=False;user id=sa;Password=sa;";

              con.Open();

              SqlDataAdapter adp1 = new SqlDataAdapter("select * from SubBoards where MainID='"+MainID+"'",con);

              DataSet ds1=new DataSet();

              adp1.Fill(ds1);

              int numSub=ds1.Tables[0].Rows.Count;

              //在给定的主节点下添加子节点

for(int i=0;i<numSub;i++)

              {

                       TreeNode Node=new TreeNode() ;

                       Node.Text =ds1.Tables[0].Rows[i][2].ToString();

                       pNode.Nodes.Add(Node);

                   //在此设置节点点击以后定向到页面:

                      Node.NavigateUrl="display.aspx?id=";

                            Node.Expanded=false;}

         }           

最后调试实现如下效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值