吐血送高分!!大家快来啊,关于树型菜单

时间:2022-06-01 12:58:41
自动从oracle库中读取数据,自动产生树型菜单,不限级数,可以添加,修改某级的内容。谁知道如何实现?送高分!!!

13 个解决方案

#1


送多少?
:)

Http://www.chinaok.net/examples

#2


给多少分呀,真巧,我今天才做了一个:)

#3


www.chinaasp.com

#4


最近这么多人种树?
你不要带删除的吗?修改最简单了,一条update语句就行了。
添加要区分是添加下级级点还是同级级点(就放两个按钮实现吧)
表结构用这种(treeTable):
parentNode    currentNode      value
==========================================
P001(根结点) P002                 xxx
P002          P003(p002的下级结点)  xx12
P002          P004(p003的同级结点)  xx25

....
记住上面表里parentNode和currentNode里没有一个结点ID是重复的!
这一点你可以在添加结点点用触发器实现。

根结点是必须的,这样可以用同一个递归函数,不然再用函数递归之前还得先找出多个根结点。

&*(*%^&%^&^%^可能要读多次数据库,会不会很慢(呵呵)?

递归函数:深度优先的..找到一个结点-->先找下级-->没有下级结点后返回-->再找同一级-->....
如:
function subitem(pNode)
  '输出结点(用层定位还是加空格看你的了)
sql="select currentNode from treeTable where parentNode='" & pNode & "' order by currentNode asc"
    ...
    rs.open sql,conn,1,3
    if rs.recordcount>0 then 
    '输出结点
     for lI=1 to rs.recordcount 
        subitem(rs("currentNode") '先找下级
        subitem(pNode) '再找同级
     next 
    end if 
   ...
end function 

种树很烦,要有耐心:)~~~

#5


把例子搬到自己家了:
http://lostinet.d2g.com/temp/public/htmltree/select.html

下载
http://lostinet.d2g.com/temp/public/htmltree/

#6


非常感谢楼上的朋友们,还有吗:)

#7


你的信箱:?我正用着那

#8


akensz@163.com
谢谢:)

#9


发过了,拿 去用吧,别忘了加分呀!!!

#10


嘻嘻,你这个我已经有了,可是这个功能是限级数的,我需要不限级的哦:)

#11


我有不限级数的,上面我说的是很久以前做的了,想要吗?

ps.只送MM :).

#12


TO anakine():
   给我一份!发过来如果好用,给100分.3q
   hsiaoycn@yahoo.com.cn

#13


用递归很简单,不过效率差点

#1


送多少?
:)

Http://www.chinaok.net/examples

#2


给多少分呀,真巧,我今天才做了一个:)

#3


www.chinaasp.com

#4


最近这么多人种树?
你不要带删除的吗?修改最简单了,一条update语句就行了。
添加要区分是添加下级级点还是同级级点(就放两个按钮实现吧)
表结构用这种(treeTable):
parentNode    currentNode      value
==========================================
P001(根结点) P002                 xxx
P002          P003(p002的下级结点)  xx12
P002          P004(p003的同级结点)  xx25

....
记住上面表里parentNode和currentNode里没有一个结点ID是重复的!
这一点你可以在添加结点点用触发器实现。

根结点是必须的,这样可以用同一个递归函数,不然再用函数递归之前还得先找出多个根结点。

&*(*%^&%^&^%^可能要读多次数据库,会不会很慢(呵呵)?

递归函数:深度优先的..找到一个结点-->先找下级-->没有下级结点后返回-->再找同一级-->....
如:
function subitem(pNode)
  '输出结点(用层定位还是加空格看你的了)
sql="select currentNode from treeTable where parentNode='" & pNode & "' order by currentNode asc"
    ...
    rs.open sql,conn,1,3
    if rs.recordcount>0 then 
    '输出结点
     for lI=1 to rs.recordcount 
        subitem(rs("currentNode") '先找下级
        subitem(pNode) '再找同级
     next 
    end if 
   ...
end function 

种树很烦,要有耐心:)~~~

#5


把例子搬到自己家了:
http://lostinet.d2g.com/temp/public/htmltree/select.html

下载
http://lostinet.d2g.com/temp/public/htmltree/

#6


非常感谢楼上的朋友们,还有吗:)

#7


你的信箱:?我正用着那

#8


akensz@163.com
谢谢:)

#9


发过了,拿 去用吧,别忘了加分呀!!!

#10


嘻嘻,你这个我已经有了,可是这个功能是限级数的,我需要不限级的哦:)

#11


我有不限级数的,上面我说的是很久以前做的了,想要吗?

ps.只送MM :).

#12


TO anakine():
   给我一份!发过来如果好用,给100分.3q
   hsiaoycn@yahoo.com.cn

#13


用递归很简单,不过效率差点