13 个解决方案
#1
送多少?
:)
Http://www.chinaok.net/examples
:)
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
种树很烦,要有耐心:)~~~
你不要带删除的吗?修改最简单了,一条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/
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 :).
ps.只送MM :).
#12
TO anakine():
给我一份!发过来如果好用,给100分.3q
hsiaoycn@yahoo.com.cn
给我一份!发过来如果好用,给100分.3q
hsiaoycn@yahoo.com.cn
#13
用递归很简单,不过效率差点
#1
送多少?
:)
Http://www.chinaok.net/examples
:)
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
种树很烦,要有耐心:)~~~
你不要带删除的吗?修改最简单了,一条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/
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 :).
ps.只送MM :).
#12
TO anakine():
给我一份!发过来如果好用,给100分.3q
hsiaoycn@yahoo.com.cn
给我一份!发过来如果好用,给100分.3q
hsiaoycn@yahoo.com.cn
#13
用递归很简单,不过效率差点