在Delphi使用TreeView我知道,但不知道怎么在ASP中使用???不要使用ASP.net,我这里没有,急急急!(300分)

  • 主题发起人 WebExplorer
  • 开始时间
W

WebExplorer

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi中我会使用TreeView动态或一次性的生成各种树,但不知道
ASP中如何生成,还有ASP中如何调用TreeView控件,
哪位高手帮帮我呀,我初用ASP,就碰到做用户组与用户的管理树的问题
各位知道ASP做树的大虾帮帮忙
 
没有用ASP做过呀?
 
原理是这样的,首先读出第一个顶级节点,然后循环读出该节点的下级节点,并控制缩进
显示,一般是用表格加层的方式来做的,除了顶级节点外,其余节点都设置为不可见,即
层不可见。重复上述过程,直到完成所有节点的输出。当用户点击一个节点时,执行脚本
:如果有一下级节点,显示下级节点所在的层,如果下级节点已经显示,则隐藏。叶子节
点没有事件,则直接指向一上链接,当然也可以为它写事件。下面是一个例子,没有使用
层,直接用了表格的行来显示和隐藏节点。
<%@language=VBScript%>
<%
option explicit
dim conn,rs,strtemp,i,connstring
dim rs1,rs2

'创建ADO对象
set conn=server.CreateObject("ADODB.connection")

'连接到数据库
connstring="Provider = Microsoft.Jet.OLEDB.4.0;
Data Source =" &amp;
server.MapPath("dbsys.mdb")
conn.Open connstring
%>
<html><head>
<title>MenuTree</title>
<script language="JavaScript">
function treeclick(f)
{
if (f.style.display=='none')
{
f.style.display='';
}
else
{
f.style.display='none';
}
}
</script>
<STYLE type=text/css>
BODY {FONT-FAMILY: 宋体,MS Sans Serif,Courier New;
FONT-SIZE: 9pt}
TD {FONT-SIZE: 9pt}
TR {FONT-SIZE: 9pt}
A:link {COLOR: Navy;
TEXT-DECORATION: none}
A:visited {COLOR: Navy;
TEXT-DECORATION: none}
A:hover {COLOR: Red;
TEXT-DECORATION: underline}
</style>
</head>
<body bgcolor="rgb(255,255,235)">
<%
'取出并显示数据
set rs=conn.Execute("select * from systemlist order by id")
if not rs.eof then
rs.MoveFirst

'循环1:取出系统列表
'-----1-----
do
while not rs.EOF
Response.Write("<table border=0>")
Response.Write("<tr><td>")
Response.Write("<img src='note.gif' border=0 valign=middle>&amp;nbsp;<a href='#' onmouseup='treeclick(" &amp;
rs("name") &amp;
");return false;'>")
Response.Write(rs("csname"))
Response.Write("</a>")
Response.Write("</td></tr>")
Response.Write("<tr id='" &amp;
rs("name") &amp;
"' style='display:none;LINE-HEIGHT: 0.7'><td>")
strtemp="select * from application where xtname='" &amp;
rs("id") &amp;
_
"' and menulevel='0' order by bm"
set rs1=conn.Execute(strtemp)
if not rs1.eof then
rs1.movefirst
'循环2:取出当前系统的一级菜单
'-----2-----
do
while not rs1.eof
%>
 <font color=ForestGreen>│</font><br>
 <font color=ForestGreen>└</font>&amp;nbsp;<a href="main.asp?id=<%=rs1("id")%>" target="MainFrame"><%=rs1("menuname")%></a><br>
<%
Response.Write(chr(13))
rs1.movenext
loop
'-----/2-----
Response.Write("</td></tr>")
Response.Write("</table>")
rs.MoveNext
loop
'-----/1-----
%>
 
作为 ActiveX 来用,可用微软的。
<Object ...>
或者做一个ActiveX Form ,这样的话主要是用 Delphi编程。
 
在Asp中用YoungSun的方法我试过,速度比较慢,我的树形结构大约有1500个节点,所有用Delphi
作了一个ActiveForm,效果还可以
 
一般的情况下,用yongsun的方式是不错的。
如果你的树改变不多的情况下,你可以让它生成一个html文件,如果树结构改变了,就
重新生成一次html文件。
 
利用xml吧,比使用数据库的方法好多了。要程序源码的话发email给我。
email:duyidong@cnautoparts.net
 
to delfish:
不知道您的代码在别得浏览器中是否还有效:
我也正在学xml但是没有这方面的学习经验,第一推荐xml的一本好书;第二最好的xml编译器
您的代码可否发给我看看,谢先 kunmeng@sina.com
 
xml是一个好方法。
如果直接用asp的话,就采用先生成html文件,
当然如果你喜欢用activexForm的话,制作是最简单的。
还有.net中有treeview控见,你可以从microsoft下载。
 
顶部