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

80酷酷网    80kuku.com

  web|程序|创建|动态|设计

使用TreeView控件创建树形结构

  数据库结构设计

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

表名

说明

表名

说明

MainBords

主版编号表

SubBorads

子版表

     

各表中的字段如下: MainBoards中的字段设置

字段

类型

说明

MainID

整型

索引号

MainName

字符型

主版名称

 SubBoards中的字段设置:

 SubBoards中的字段设置:

 

字段

类型

说明

SubID

整型

索引号

MainID

整型

对应的主版编号

SubName

字符型

子版名称

 

字段

类型

说明

SubID

整型

索引号

MainID

整型

对应的主版编号

SubName

字符型

子版名称

 

  

  

3.2 创建树形结构:

3.2 创建树形结构:

 3.2 创建树形结构:

   要实现树形结构,我们首先必须添加主节点,也就是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;}          }         

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: