CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  数据结构与算法

asp生成树,谁能提供一个算法?

楼主spear_nj(留个微笑给我)2005-08-01 09:36:11 在 专题开发/技术/项目 / 数据结构与算法 提问

数据库字段内容如下:  
  haier                                                           '最高的节点  
  haierpc                                                       '一级节点  
  haierpc1                                                     '二级节点  
  haierpc2                                                     '二级节点  
  haierpc3                                                     '二级节点  
  haierlcd                                                     '一级节点  
  haierlcd1  
  haierlcd2  
  haierlcd3  
  haierlcd4  
  haiertv                                                       '一级节点  
  haiertvlcd                                                 '二级节点  
  haiertvhk                                                   '二级节点  
  haierm                                                       '一级节点  
  haierm1                                                     '二级节点  
  就是根据字母的增加来自动生成树的,希望高手能帮个忙 问题点数:100、回复次数:7Top

1 楼spear_nj(留个微笑给我)回复于 2005-08-01 10:02:20 得分 0

haierm11                                   /三级节点Top

2 楼znjgress(四空和尚)回复于 2005-08-03 11:20:30 得分 0

参考一下狼的treeTop

3 楼madpolice(午夜狂龙)回复于 2005-08-03 11:27:07 得分 0

id     parent_id  
  1                 0           一级节点  
  2                 1           二级节点  
  3                 1           二级节点  
  4                 2           三级节点  
  5                 0           一级节点  
  6                 3           三级节点Top

4 楼IT_Fish(游泳在IT的鱼)回复于 2005-08-03 14:03:46 得分 100

我把狼的贴出来给你参考下  
  <HTML>  
  <HEAD>  
  <style   type="text/css">  
  <!--  
  .aa   {  
  font-size:   12px;  
  color:   #000000;  
  text-align:   center;  
  vertical-align:   middle;  
  letter-spacing:   0px;  
  word-spacing:   0px;  
  }  
  body,td,th   {  
  font-size:   12px;  
  font-family:   ??ì?;  
  }  
  body   {  
  background-color:   #dee3f7;  
  }  
  -->  
  </style>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312"></HEAD>  
  <body     >  
  <%  
              dim   cn,rs,SQL   ,Para,NumChild  
              set   cn=server.CreateObject("ADODB.connection")  
              set   rs=server.createobject("ADODB.recordset")  
              set   rs1=server.createobject("ADODB.recordset")  
              cn.Open     "Driver={Microsoft   Access   Driver   (*.mdb)};   DBQ="   &   Server.MapPath("tree.mdb")            
              SQL="Select   *   from   tree   order   by   ID"  
              rs.open   SQL,cn,3,2            
  do   while   not   rs.EOF    
  SQL="Select   ID   from   tree   where   ID   like   '"   &   rs("ID")   &   "_%'   and   ID<>'"   &   rs("ID")   &   "'   order   by   ID"  
  Para=rs("ID")   &   "|"  
  NumChild=0  
  rs1.open   SQL,cn,   3,2  
  NumChild=rs1.RecordCount  
  do   while   not   rs1.EOF    
  Para   =Para     &   rs1("ID")   &   "|"  
  rs1.MoveNext  
  loop  
  Para=cstr(trim(left(Para,len(Para)-1)))  
  rs1.Close  
  %>  
  <table id="T<%=rs("ID")%>"    
  border=1    
  cellpadding=0    
  cellspacing=0    
  bordercolor="#DEE3F7"    
  class="aa"    
  abbr="<%=Para%>"  
  summary=<%=checkid(rs("ID"))%>  
  style="cursor:hand"  
  onClick='vbs:subtree   "<%=Para%>"'   >  
   
      <tr>    
  <td   width="<%=17+checkid(rs("ID"))*20%>"    
  height="17"   align="right">    
  <table   width="17"   height="17"   border="1"   cellpadding="0"   cellspacing="0"   bordercolor="#DEE3F7">  
                  <tr>  
           
                      <td   align="center"   valign="middle"   bordercolor="#000000"   id="R<%=rs("ID")%>"   ><%if   NumChild=0   then   Response.Write   "."   else   Response.Write   "-"%></td>  
      </tr>  
  </table>  
      </td>  
   
          <td height="17"    
  nowrap  
  bordercolor="#FFFFFF"    
  onMouseOver="vbs:me.bgcolor='#CCCCCC':me.bordercolor='#999999'"  
  onMouseOut="vbs:me.bgcolor='#DEE3F7':me.bordercolor='#ffffff'"  
  title="<%=rs("ID")%>"  
  onclick='vbs:window.location.href="<%=rs("HyperLink")%>"'  
  >    
              <%=rs("Name")%></td>  
      </tr>  
    </table>  
   
     
  <%  
    rs.MoveNext  
    loop  
    rs.Close:set   rs=nothing  
      set   rs1=nothing  
    cn.Close:set   cn=nothing  
    function   checkid(x)  
  dim Tempnum  
  Tempnum=0  
  for   i=1   to   len(x)  
  if   mid(x,i,1)="_"   then    
  Tempnum=Tempnum+1  
  end   if  
  next  
  checkid=Tempnum  
    end   function    
   
   
    %></body     >  
      <script   language=VBS>  
  sub   subtree(Client_para)  
  if   instr(Client_para,"|")=0   then   exit   sub  
  Myarray=split(Client_para,"|")  
  Mytext=eval("R"   &   Myarray(0)   &   ".innertext")  
  select   case   Mytext  
  case   "+"  
  document.all.item("R"   &   Myarray(0)).innertext="-"  
  for   i=1   to   ubound(Myarray)  
  if     eval("T"   &   Myarray(i)   &   ".summary")-eval("T"   &   Myarray(0)   &   ".summary")=1   then  
  document.all.item("T"   &   Myarray(i)).style.display="block"  
  end   if  
  if     eval("T"   &   Myarray(i)   &   ".summary")-eval("T"   &   Myarray(0)   &   ".summary")>1   then  
  document.all.item("T"   &   Myarray(i)).style.display="none"  
  end   if  
  next  
  case   "-"  
  document.all.item("R"   &   Myarray(0)).innertext="+"  
  for   i=1   to   ubound(Myarray)  
  if     eval("T"   &   Myarray(i)   &   ".summary")-eval("T"   &   Myarray(0)   &   ".summary")>=1   then  
  document.all.item("T"   &   Myarray(i)).style.display="none"  
  if   eval("R"   &   Myarray(i)   &   ".innertext")="-"   then  
  document.all.item("R"   &   Myarray(i)).innertext="+"  
  end   if  
  end   if  
  next  
  end   select  
  set   Myarray=nothing  
  end   sub  
   
  Sub   document_onselectstart  
  document.selection.clear  
  End   Sub  
   
  if   isobject(eval("Ta"))     then    
  'subtree   document.all("Ta").abbr  
  'subtree   document.all("Ta").abbr  
  subtree   document.all("Ta").abbr  
  subtree   document.all("Ta").abbr  
  end   if  
   
  </script>  
   
  Top

5 楼spear_nj(留个微笑给我)回复于 2005-08-04 14:34:20 得分 0

数据库我只能进行查询,不能进行update和insert等操作,字段内容就是上面的,没有其它的节点附加信息。节点必须自己根据字母的顺序来判断。Top

6 楼guishuanglin(蓝色枫林)回复于 2005-08-12 12:37:18 得分 0

madpolice(午夜狂龙)   (    
  的结构,加上过滤数据就可以实现Top

7 楼spear_nj(留个微笑给我)回复于 2005-08-20 19:54:38 得分 0

我一个朋友给了我一个哈西结构的算法,用vbs结合js代码,可以不限级数的生成树,和资源管理器一样,爽,上面的方法我用不上。但还是谢谢。Top

相关问题

  • 求最小生成树的算法
  • 给一个生成树的算法
  • 给一个生成树的算法
  • 帮我设计一个生成树的比较快的算法
  • 生成GUID的算法
  • 求Triangle Strip生成算法
  • 最小代价生成树的Prim算法@高级程序数据结构与算法
  • 了解最小生成树Prim算法 麻烦你看看谢谢
  • 求二叉树的ASP算法
  • 谁有asp生成xml树的例子?

关键词

  • rs1
  • numchild
  • para
  • vbs
  • rs

得分解答快速导航

  • 帖主:spear_nj
  • IT_Fish

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo