asp树型目录的实现,只调一个id.高分求代码或修改我的代码

时间:2022-04-04 12:56:16
表treed里的字段与值: 
id      name 
=================== 
01        男装 
02        女装 
03        童装 
0101      上衣 
0102      裤子 
010101    T恤 
010102    衬衫 
010201    短裤子 
010202    牛仔裤 
0201      女上衣 
0202      裤子 
... 
asp树型目录的实现,只调一个id.高分求代码或修改我的代码


==================================================
想实现图片中那种效果,用鼠标点一下+就可以展开,点一下-就可以收缩


我在网上找到一个代码,但这个代码有点问题,看哪个高手能帮我修改好.或是有能实现我这个效果的代码,要求速度快!
最好是以我的表和字段来写.谢谢了!!


sub showtreeforline(table,rs,tree)
  if len(tree)=0 then
     S_Isroot=0
  end if
  trees="1"
  treestr=tree&trees
  set rs=server.CreateObject("adodb.recordset")
  rs.open"select * from "&table&" where len("&table&"id)=2 order by "&table&"id",conn,1,1
  if rs.eof and tree="" then
     response.Write"  <tr class='tdbg'><td><center>暂无分类</center></td></tr>"
  else
     do while not rs.eof 
    NS_Name=rs(table)
    NS_Id=rs(table&"id")
        rs.movenext
    if rs.eof then
       trees="0"
       treestr=tree&trees
    end if
        response.Write"  <tr class='tdbg'>"
'Response.Write("<TD vAlign=bottom width='5%'>"&NS_Id&"</td> ")
Response.Write("<td valign='center' width='65%'>")
    for i=0 to len(treestr)-2
       if mid(treestr,i+1,1)="1" then
      response.Write("<img src='image/line.GIF' align='absbottom'>")
       else
      response.Write("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;")
   end if
        next
    if trees="0" then
   if tree="" and S_Isroot=0 then
          response.Write"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
   else
          response.Write"<img src='image/tree1.GIF' align='absbottom'>"
   end if
    elseif tree="" then
   if S_Isroot=1 then
              response.Write"<img src='image/tree.GIF' align='absbottom'>"
   else
              response.Write"<img src='image/tree0.GIF' align='absbottom'>"
   end if
    else
       response.Write"<img src='image/tree.GIF' align='absbottom'>"
    end if
        
response.Write ""&NS_Id&"&nbsp;&nbsp;"&NS_Name&""
response.Write "<td width='35%'>"
response.Write "&nbsp;&nbsp;&nbsp;&nbsp;<a href='"&table&"_Edit.asp?id="&table&"id' title='"&NS_Name&"'>修改</a>"
        response.Write"&nbsp;| &nbsp;<a href='"&table&"_Add.asp?id="&table&"id' title='"&NS_Name&"'>添加分类</a>"
        response.Write"&nbsp;| &nbsp;<a href='"&table&"_Del.asp?id="&table&"id' onClick=""return confirm('此操作不可恢复,确定执行吗?');"">删除</a>"
        response.Write"</td>"
        response.Write"</tr>"&vbcrlf
    
showtreeforline table,"rs"&cstr(NS_Id),treestr
S_Isroot=1
     loop
  end if
  rs.close
end sub
sub showtree(table)
   response.Write"<table border='0' cellpadding='0' cellspacing='0' width='100%' class='border' bgcolor='#FFFFFF'>"
   showtreeforline table,"rs",""
   response.Write"</table>"
end sub
%>

20 个解决方案

#1



<%
sub showtreeforline(table,rs,tree) 
  if len(tree)=0 then 
    S_Isroot=0 
  end if 
  trees="1" 
  treestr=tree&trees 
  set rs=server.CreateObject("adodb.recordset") 
  rs.open"select * from "&table&" where len("&table&"id)=2 order by "&table&"id",conn,1,1 
  if rs.eof and tree="" then 
    response.Write" <tr class='tdbg'> <td> <center>暂无分类 </center> </td> </tr>" 
  else 
    do while not rs.eof 
    NS_Name=rs(table) 
    NS_Id=rs(table&"id") 
        rs.movenext 
    if rs.eof then 
      trees="0" 
      treestr=tree&trees 
    end if 
        response.Write" <tr class='tdbg'>" 
'Response.Write(" <TD vAlign=bottom width='5%'>"&NS_Id&" </td> ") 
Response.Write(" <td valign='center' width='65%'>") 
    for i=0 to len(treestr)-2 
      if mid(treestr,i+1,1)="1" then 
      response.Write(" <img src='image/line.GIF' align='absbottom'>") 
      else 
      response.Write("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;") 
  end if 
        next 
    if trees="0" then 
  if tree="" and S_Isroot=0 then 
          response.Write"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" 
  else 
          response.Write" <img src='image/tree1.GIF' align='absbottom'>" 
  end if 
    elseif tree="" then 
  if S_Isroot=1 then 
              response.Write" <img src='image/tree.GIF' align='absbottom'>" 
  else 
              response.Write" <img src='image/tree0.GIF' align='absbottom'>" 
  end if 
    else 
      response.Write" <img src='image/tree.GIF' align='absbottom'>" 
    end if 
        
response.Write ""&NS_Id&"&nbsp;&nbsp;"&NS_Name&"" 
response.Write " <td width='35%'>" 
response.Write "&nbsp;&nbsp;&nbsp;&nbsp; <a href='"&table&"_Edit.asp?id="&table&"id' title='"&NS_Name&"'>修改 </a>" 
        response.Write"&nbsp; ¦ &nbsp; <a href='"&table&"_Add.asp?id="&table&"id' title='"&NS_Name&"'>添加分类 </a>" 
        response.Write"&nbsp; ¦ &nbsp; <a href='"&table&"_Del.asp?id="&table&"id' onClick=""return confirm('此操作不可恢复,确定执行吗?');"">删除 </a>" 
        response.Write" </td>" 
        response.Write" </tr>"&vbcrlf 
    
showtreeforline table,"rs"&cstr(NS_Id),treestr 
S_Isroot=1 
    loop 
  end if 
  rs.close 
end sub 
sub showtree(table) 
  response.Write" <table border='0' cellpadding='0' cellspacing='0' width='100%' class='border' bgcolor='#FFFFFF'>" 
  showtreeforline table,"rs","" 
  response.Write" </table>" 
end sub 
%>

#2


ip

#3


呵呵,你里面的数据结构有规律都好办

#4


肯定是有规律的啊.没有规律的话怎么排啊~~~

#5


你这个也很简单的,基本上你的这个逻辑是对的,不过你少了一个判断子节点的,所以你这个程序还是无法实现

#6


http://www.chinmo.net/jd/tree.asp

呵呵,我把字段和里面的数据格式改和你的一样,效果出来了,不过有一个缺陷,我也在看是在哪导致这个缺点

#7


呵呵,已经解决了

#8


6楼能否把源码传给我.谢谢~~~

#9


呵呵,源码共享就不提供了,思路可以告诉你

#10


楼上,那思路分享一下嘛....

#11


你的那个基本思路是对的
但是你仔细分析下,看看你少了什么没加上去

#12


我在5楼说的很清楚了

#13


兄弟,那既然写出来了,就分享一下嘛....分享给我,我马上结贴啊!

#14


代码不分享,你的那个修改下,并且加上判断子节点的判断就 OK了

#15


兄弟,我就是不知道嘛...你都写出来,就共享一下嘛...?难道叫我拿钱跟你买不成?

#16


呵呵,在这里我一般只提供思路的

再说你只是进了一个误区而已啊

#17


老大,你就提供一下吧

#18


Demo:http://baidugoogle.net/tree/
DOWN:http://baidugoogle.net/tree/tree.rar

接分

#19


标住一下,学习

#20


引用 18 楼 laidezhong 的回复:
Demo:http://baidugoogle.net/tree/ 
DOWN:http://baidugoogle.net/tree/tree.rar 

接分


不错,采用了jquery库,而且写法不错,突破了之前一个朋友用JS写的一个缺陷。

#1



<%
sub showtreeforline(table,rs,tree) 
  if len(tree)=0 then 
    S_Isroot=0 
  end if 
  trees="1" 
  treestr=tree&trees 
  set rs=server.CreateObject("adodb.recordset") 
  rs.open"select * from "&table&" where len("&table&"id)=2 order by "&table&"id",conn,1,1 
  if rs.eof and tree="" then 
    response.Write" <tr class='tdbg'> <td> <center>暂无分类 </center> </td> </tr>" 
  else 
    do while not rs.eof 
    NS_Name=rs(table) 
    NS_Id=rs(table&"id") 
        rs.movenext 
    if rs.eof then 
      trees="0" 
      treestr=tree&trees 
    end if 
        response.Write" <tr class='tdbg'>" 
'Response.Write(" <TD vAlign=bottom width='5%'>"&NS_Id&" </td> ") 
Response.Write(" <td valign='center' width='65%'>") 
    for i=0 to len(treestr)-2 
      if mid(treestr,i+1,1)="1" then 
      response.Write(" <img src='image/line.GIF' align='absbottom'>") 
      else 
      response.Write("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;") 
  end if 
        next 
    if trees="0" then 
  if tree="" and S_Isroot=0 then 
          response.Write"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" 
  else 
          response.Write" <img src='image/tree1.GIF' align='absbottom'>" 
  end if 
    elseif tree="" then 
  if S_Isroot=1 then 
              response.Write" <img src='image/tree.GIF' align='absbottom'>" 
  else 
              response.Write" <img src='image/tree0.GIF' align='absbottom'>" 
  end if 
    else 
      response.Write" <img src='image/tree.GIF' align='absbottom'>" 
    end if 
        
response.Write ""&NS_Id&"&nbsp;&nbsp;"&NS_Name&"" 
response.Write " <td width='35%'>" 
response.Write "&nbsp;&nbsp;&nbsp;&nbsp; <a href='"&table&"_Edit.asp?id="&table&"id' title='"&NS_Name&"'>修改 </a>" 
        response.Write"&nbsp; ¦ &nbsp; <a href='"&table&"_Add.asp?id="&table&"id' title='"&NS_Name&"'>添加分类 </a>" 
        response.Write"&nbsp; ¦ &nbsp; <a href='"&table&"_Del.asp?id="&table&"id' onClick=""return confirm('此操作不可恢复,确定执行吗?');"">删除 </a>" 
        response.Write" </td>" 
        response.Write" </tr>"&vbcrlf 
    
showtreeforline table,"rs"&cstr(NS_Id),treestr 
S_Isroot=1 
    loop 
  end if 
  rs.close 
end sub 
sub showtree(table) 
  response.Write" <table border='0' cellpadding='0' cellspacing='0' width='100%' class='border' bgcolor='#FFFFFF'>" 
  showtreeforline table,"rs","" 
  response.Write" </table>" 
end sub 
%>

#2


ip

#3


呵呵,你里面的数据结构有规律都好办

#4


肯定是有规律的啊.没有规律的话怎么排啊~~~

#5


你这个也很简单的,基本上你的这个逻辑是对的,不过你少了一个判断子节点的,所以你这个程序还是无法实现

#6


http://www.chinmo.net/jd/tree.asp

呵呵,我把字段和里面的数据格式改和你的一样,效果出来了,不过有一个缺陷,我也在看是在哪导致这个缺点

#7


呵呵,已经解决了

#8


6楼能否把源码传给我.谢谢~~~

#9


呵呵,源码共享就不提供了,思路可以告诉你

#10


楼上,那思路分享一下嘛....

#11


你的那个基本思路是对的
但是你仔细分析下,看看你少了什么没加上去

#12


我在5楼说的很清楚了

#13


兄弟,那既然写出来了,就分享一下嘛....分享给我,我马上结贴啊!

#14


代码不分享,你的那个修改下,并且加上判断子节点的判断就 OK了

#15


兄弟,我就是不知道嘛...你都写出来,就共享一下嘛...?难道叫我拿钱跟你买不成?

#16


呵呵,在这里我一般只提供思路的

再说你只是进了一个误区而已啊

#17


老大,你就提供一下吧

#18


Demo:http://baidugoogle.net/tree/
DOWN:http://baidugoogle.net/tree/tree.rar

接分

#19


标住一下,学习

#20


引用 18 楼 laidezhong 的回复:
Demo:http://baidugoogle.net/tree/ 
DOWN:http://baidugoogle.net/tree/tree.rar 

接分


不错,采用了jquery库,而且写法不错,突破了之前一个朋友用JS写的一个缺陷。

#21