首页 > 编程 > .NET > 正文

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

2024-07-10 12:56:03
字体:
来源:转载
供稿:网友
  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 使用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;}          }         

    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表