动态载入树 (ASP+数据库)源码精华教程
|
| 论文作者:佚名 论文来源:不详 论文发布时间:2006-6-20 2:37:56 论文发布人:chjchjchj |
减小字体
增大字体
ASP+ACCESS 在数据量达100万条记录下,载入速度仍然惊人....
// 网上转载. 忘了作者... : )
//********************** index.asp ************************//
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <%Option Explicit%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>tree</title> <link href="css/style.css" rel="stylesheet" type="text/css"> <script language="JavaScript"> <!-- var d1,d2;
function expand(id) { var d=new Date(); d1=d.valueOf();
var s_id = eval("s" + id); var dir_id = eval("dir" + id); if(s_id.href != '') { //window.open(s_id.href); //or //top.frames['FrameName'].location.href = s_id.href; }
switch(dir_id.open) { //改变"+","-" case "true": { with(dir_id) { innerText = "+"; open = "false"; className = 'dirclose'; } if(document.getElementById("t" + id)) { eval("t"+id).style.display = 'none'; document.getElementById("load_" + id).style.display = 'none'; return; } else { document.getElementById("load_" + id).style.display = 'none'; } break; } case "false": { with(dir_id) { innerText = "-"; open = "true"; className = 'diropen'; } document.getElementById("load_" + id).style.display = ''; if(document.getElementById("t" + id)) { eval("t" + id).style.display = ''; eval("load_" + id).style.display = 'none'; return; } else { document.frames['hifm'].location.replace("subtree.asp?id=" + id); } break; } default:dir_id.innerText = "."; dir_id.className = 'dirNode'; return; }
}
function ArrToHtml(ArrNode,nodeid) { //输出到页面 var node_html = '<table id="t' + nodeid + '" width="100%" border="0" style="position: relative; left: 18px;" cellspacing="0" cellpadding="0">';
var str,opened,cls for (var i = 0; i < ArrNode.length; i++) { if (ArrNode[i].iChildren == 0) { str = '.'; opened = 'no'; cls = 'dirNode'; } else { str = '+'; opened = 'false'; cls = 'dirclose'; }
node_html += '<tr><td id="node' + ArrNode[i].id + '" class="td_node" valign="top"><span class="' + cls + '" id="dir' + ArrNode[i].id + '" onclick="expand(' + ArrNode[i].id + ')" open="' + opened + '">' + str + '</span><span class="node" id="s' + ArrNode[i].id + '" onclick="expand(' + ArrNode[i].id + ')" title="' + ArrNode[i].Content + '" href="' + ArrNode[i].strLink + '">' + ArrNode[i].Content + '</span></td></tr>';
if (ArrNode[i].iChildren > 0) { node_html += '<tr id="load_' + ArrNode[i].id + '" style="display: none"><td class="td_node"><table border="0" cellspacing="0" cellpadding="0" style="position: relative; left: 18; top: 0px"><tr><td class="td_node"><span class="dirNode">.</span><span class="load">Loading...</span></td></tr></table></td></tr>'; } }
node_html += '</table>'; if (document.getElementById("load_" + nodeid)) { document.getElementById("load_" + nodeid).style.display = "none"; document.getElementById("node" + nodeid).innerHTML += node_html; var d=new Date(); d2=d.valueOf(); message.innerHTML = "耗时:"+(d2-d1)+"ms"; } } --> </script> </head>
<body topmargin="0" leftmargin="0" scroll="yes"> <% Dim conn,rs Dim s,open,cls On Error Resume Next Set conn = Server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.mappath("tree/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=0 order by parentid",conn,1,3 %> <div id="message" style="height: 20px" align="center"> </div> <div align="center"> <center> <table border="0" width="100%" cellspacing="0" cellpadding="0" height="100%" bgcolor="#F2F2F2"> <tr> <td width="260" valign="top" align="left"> <div id="treedir" style="overflow: auto; width: 30%; height: 100%;"> <table border="0" cellspacing="0" cellpadding="0" style="position: relative; left: 18px; top: 20px;" width="100%"> <% Do While Not rs.EOF If rs("children") = 0 Then s = "." open = "no" cls = "dirNode" Else s = "+" open = "false" 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")%>)" open="<% = open %>"><% = s %></span><span class="node" id="s<% = rs("id") %>" onclick="expand(<% = rs("id") %>)" title="<% = Trim(rs("content")) %>" href="<% = Trim(rs("link")) %>"><% = rs("content") %></span> </td> </tr> <% If rs("children") > 0 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" width="100%"> <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> </table&
|
|
|
|
|
|
|
| ∷相关技术评论 |
(评论内容只代表网友观点,与本站立场无关!) [查看发表评论...] | |
|
|
| |
站内广告 |
| |
|
站内搜索 |
| |
栏目导航 |
| |
|
|
本月热门 |
| |
|
|
本日热门 |
| |
|
|
|