生成像资源管理器一样的树形目录

g51846066

g51846066

2016-01-29 18:48

生成像资源管理器一样的树形目录,生成像资源管理器一样的树形目录

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/asp/)

树形目录显示程序
问题描述:
在我们项目中常常会出现自关联的数据表,如果我们从整体看去,整个表就呈现为一个树形数据结构(对于复杂的情况,它可能变成一个图)。当我们对这个表进行显示,编辑时,如果不采用好的表现形式,会显得很笨拙,为此,我们开发这样的树形结构的程序。在上一版本中,我们使用的是递归算法来实现,在我们对这个算法评测时发现,对于拥有成千上万条记录的数据库就不再能胜任了,所以在新的算法版本中,我们使用了XML技术,动态的发现数据,以解决一次从服务器下在大量数据的尴尬,同时也遍免了如果表数据结构呈现为图时就会进入死循环的错误。

实际思路:
1、 初始显示时只显示根与二级节点,根与二级节点同在一层次
2、 点击一节点,如果它的子节点区域对象不存在,则建立对象,同时下载数据更新数据,显示所有子节点。
3、 每个节点在建立后都就有相同的功能,如检查子节点是否存在,显示隐藏子节点等等
4、 DHTML+XML+ASP+CSS同时使用
技术难点:
1、 使用xmlhttp接口时乱码问题:
因为在asp输出页面中,缺省的编码方案并不是中文的,那么在客户端页面的xmlhttp中解释时,就会以缺省的方案解析,所以就会出现乱码。为此,我们在Server端的asp页面中,加入如下代码定义编码方案:
Response.CharSet="GB2312"
Response.ContentType="text/html"

2、 如何在界面上保持上一版本的风格(类资源管理器形式):
在上一版本中,所有的页面内容都是一气呵成的,在控制上采用递归等思想,所有时的界面相对友好,当时本版中的机制发生了变化,内容是有多次合成的
关键问题,img ,span 对象的id 如何确定
经过求证,在界面上,本版本的界面难以与第一界面相同,所以只能保留一部分,但是总体来说,新界面同样也能满足需要

因为在这里不好使用附件,所以只能贴源码了:

---xtree.html------

<HTML
<HEAD
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"
<SCRIPT LANGUAGE=javascript src="http://img.tulaoshi.com/attachment/portal"
<style type="text/css"
<!--
a:link { font-size: 14px; text-decoration: none; color: #0000FF}
a:visited { font-size: 14px; color: #0000FF; text-decoration: none}
a:hover { font-size: 14px; color: #FF0000; background-color: #CCCC99; text-decoration: none}
a:active { font-size: 14px; color: #FFFFFF; background-color: #191970; text-decoration: none}
.item{ font-size:14px}
--
<BODY leftMargin=0 rightMargin=0 topMargin=0 border=0
<bold树形菜单演示程序<table border=0
<tr<td nowrap
<span id='oSpanroot' border=0


-------xtree.asp------------

<%@ Language=VBScript %
<%
Response.CharSet="GB2312"
Response.ContentType="text/html"
'''''''''''''''''''''''''''''''Server code start'''''''''''''''''''''''''''''''
dim parId,nodeLayer
parid=Request.QueryString("parId")
nodeLayer=cint(Request.QueryString("nodeLayer"))

if(parid="") then
Response.Write("root id can't is null")
Response.End()
end if
if(nodeLayer<0) then
nodeLayer=0

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/asp/)

end if
%
<%
strconn="at"
strsql="select * from tree where par='"&parid&"'"
''SQL 语句书写要求:在记录集的前面三个字段必须依次为:row_id(惟一的主键)、name(菜单条显示的内容)、par_id(父节点row_id),其它根据需要输出与显示
set conn=server.createobject("ADODB.connection")
conn.open strconn

set rs=server.createobject("ADODB.Recordset")
rs.open strsql,conn,3,3
i=0
dim row_id
row_id=""
while not rs.EOF
row_id=rs.Fields("row_id").Value
name=rs.Fields("name").Value
j=0

while j<nodeLayer
Response.Write("<img src="http://img.tulaoshi.com/attachment/portal/jcwcj/2005-12/10/0512100045099015.bmp"")
j=j+1
wend
Response.Write("<img id='objNode"&row_id&"' style='cursor:hand' src="http://img.tulaoshi.com/attachment/portal/jcwcj/2005-12/10/05121000451062159.bmp" onclick=javascript:createChildNode('"&row_id&"',"&nodeLayer+1&") border=0 align='absmidd

展开更多 50%)
分享

猜你喜欢

生成像资源管理器一样的树形目录

ASP
生成像资源管理器一样的树形目录

如何生成像资源管理器一样的树形目录

Web开发
如何生成像资源管理器一样的树形目录

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在Web界面下如何生成像资源管理器一样的树形目录(版本2.0)

ASP
在Web界面下如何生成像资源管理器一样的树形目录(版本2.0)

ASP做象资源管理器的树形目录

ASP
ASP做象资源管理器的树形目录

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

生成类似Windows资源管理器

ASP
生成类似Windows资源管理器

怎么重启资源管理器

电脑入门
怎么重启资源管理器

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

ASP安全检测与过滤函数SafeCheck

ASP安全检测与过滤函数SafeCheck

Photoshop教程:打造照片怀旧和古典艺术效果二例

Photoshop教程:打造照片怀旧和古典艺术效果二例
下拉加载更多内容 ↓