怎么样使树型结构程序支持字符型的ID。。。
怎样使下面的程序支持字符串的形式。。
应该怎么样修改下面的程序
id parentid context url
sa0000 sa0000 系统管理
sa0010 sa0000 系统出世华。。
sa0020 sa0000 ....
..............................
sb0000 sb0000 .......
sb0010 sb0000 ......
使得程序支持采用sa0000,sa0010字符串作为id ,parentid的值。。
源程序如下。。
怎么样修改才能使他支持字符串的形式。。
deeptree.asp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>CSDN deeptree---By Fason</title>
<link rel=stylesheet href="style.css" type="text/css">
</head>
<script>
function expand(id){
window.status=eval("s"+id).innerText;
getLight(id);
if(eval("s"+id).href!='')document.frames['nodehref'].location.href=eval("s"+id).
href
switch(eval("dir"+id).innerText){//改变"+","-"
case "-":
eval("dir"+id).innerText="+";eval("dir"+id).className='dirclose';document.getEle
mentById("load_"+id).style.display='none';break;
case "+":
eval("dir"+id).innerText="-";eval("dir"+id).className='diropen';document.getElem
entById("load_"+id).style.display='';break;
default:eval("dir"+id).innerText=".";eval("dir"+id).className='dirNode';
}
if(eval("dir"+id).innerText==".")return;
if(eval("dir"+id).innerText=="+"){if(document.getElementById("t"+id)){eval("t"+i
d).removeNode(true);return;}}
document.frames['hifm'].location.href="subtree.asp?id="+id
}
function getLight(id){//高亮度显示当前结点
var s=document.getElementsByTagName("SPAN")
var sn=document.getElementById("s"+id)
for(i=0;i<s.length;i++)if(s[i].className=='node')s[i].style.cssText="color:#0000
00;background-color:#f2f2f2"
sn.style.cssText="color:#000000;background-color:#ffffff;border:1 solid
#999999"
}
</script>
<body topmargin="0" leftmargin="0" scroll="no">
<% dim conn,rs
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.mappath("tree.mdb") & ";Persist Security Info=False"
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "select *,(select count(*) from deeptree where parentid = id) as
children from deeptree where id=parentid",conn,1,3
%>
<div align="center">
<center>
<table border="0" width="779" cellspacing="0" cellpadding="0" height=100%
bgcolor="#F2F2F2">
<tr>
<td width="260" style="border-right:5 solid #6699cc" valign="top"
align="left">
<div id=treedir style="overflow:auto;width:100%;height:100%">
<table border='0' cellspacing='0' cellpadding='0'
style='position:relative;left:18;top:20' onselectstart="return false">
<%
do while not rs.eof
if rs("children")<=1 then
s="."
cls="dirNode"
else
s="+"
cls="dirclose"
end if
%>
<tr><td id='node<%=rs("id")%>' class='td_node' valign=top><span
class='<%=cls%>' id='dir<%=rs("id")%>'
onclick='expand(<%=rs("id")%>)'><%=s%></span><span class='node'
id='s<%=rs("id")%>' onclick='expand(<%=rs("id")%>)' title='<%=rs("content")%>'
href='<%=rs("link")%>'><%=rs("content")%></span></td></tr>
<% if rs("children")>1 then%>
<tr id="load_<%=rs("id")%>" style="display:none"><td
class='td_node'><table border='0' cellspacing='0' cellpadding='0'
style='position:relative;left:18;top:0'><tr><td class='td_node'><span
class='dirNode'>.</span><span
class='load'>Loading...</span></td></tr></table></td></tr>
<%end if%>
<% rs.movenext
loop
%>
</table>
</div>
</td>
<td valign="top" align="left">
<iframe name=nodehref style="border:1 solid
#3366cc;width:100%;height:100%;overflow:auto" src="about:blank" frameborder=0
></iframe>
</td>
</tr>
</table>
</center>
</div>
<%
set rs=nothing
set conn=nothing
%>
<iframe id='hifm' width=0 height=0></iframe>
</body>
subtree.asp
<% dim conn,rs,s,cls,href
dim nodeid
nodeid=request.querystring("id")
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.mappath("tree.mdb") & ";Persist Security Info=False"
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "select *,(select count(*) from deeptree where parentid = T.id) as
children from deeptree T where parentid="&nodeid&" and
id<>"&CInt(nodeid),conn,1,3
dim node_html
node_html="<table id='t"&nodeid&"' border='0'
style='position:relative;left:18' cellspacing='0' cellpadding='0'>"
do while not rs.eof
if rs("id")<>rs("parentid") then
if rs("children")=0 then
s="."
cls="dirNode"
else
s="+"
cls="dirclose"
end if
end if
node_html=node_html&"<tr><td id='node"&rs("id")&"' class='td_node'><span
class='"&cls&"' id='dir"&rs("id")&"'
onclick='expand("&rs("id")&")'>"&s&"</span><span class='node' id='s"&rs("id")&"'
onclick='expand("&rs("id")&")' title='"&rs("content")&"'
href='"&rs("link")&"'>"&rs("content")&"</span></td></tr>"
if rs("children")>0 then
node_html=node_html&"<tr id='load_"&rs("id")&"' style='display:none'><td
class='td_node'><table border='0' cellspacing='0' cellpadding='0'
style='position:relative;left:18;top:0'><tr><td class='td_node'><span
class='dirNode'>.</span><span
class='load'>Loading...</span></td></tr></table></td></tr>"
end if
rs.movenext
loop
node_html=node_html&"</table>"
set rs=nothing
set rs = Server.CreateObject("ADODB.Recordset")
rs.open "select link from deeptree where id="&nodeid,conn,1,3
%>
<script>
if(parent.document.getElementById("load_"+"<%=nodeid%>")){
parent.document.getElementById("load_"+"<%=nodeid%>").style.display="none"
parent.document.getElementById("node"+<%=nodeid%>).innerHTML+="<%=node_html%>"
}
</script>
<% set rs=nothing
set conn=nothing
%>