<%@ Language=VBScript codepage=936 %>
<% Option Explicit %>
<%
Dim Conn, rs
Set Conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset") Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("./") &"\tree.mdb;"
rs.open "Select ID, parentId, text, hint, icon, data, url, target, method From treeview order by ID", Conn
%>
<html>
<head>
<title>梅花雪</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="JavaScript" src="MzTreeView10.js"></script>
<style>
A.MzTreeview
{
font-size: 9pt;
padding-left: 3px;
}
</style>
</head> <body class=frame>
<SCRIPT LANGUAGE="JavaScript">
<!--
window.tree = new MzTreeView("tree"); tree.icons["property"] = "property.gif";
tree.icons["css"] = "collection.gif";
tree.icons["book"] = "book.gif";
tree.iconsExpand["book"] = "bookopen.gif"; //展开时对应的图片
tree.setIconPath("http://www.meizz.com/Icons/TreeView/"); //可用相对路径
<%
Dim node
Dim reg : set reg = new RegExp : reg.global=True : reg.pattern=";"
Dim id, parentId, text, hint, icon, data, url, target, method
do while not rs.eof
'若是树的条目比较多的时候(比如大于1000)而又相对稳定的时候将这些数据生成静态网页来访问
node = VBCrLf &" tree.nodes["""& rs("parentId") &"_"& rs("id") &"""] = """
node = node &"text:"& reg.replace(rs("text"), chr(15)) &";"
if rs("hint")<>"" then node = node &"hint:"& reg.replace(rs("hint"), chr(15)) &";"
if rs("icon")<>"" then node = node &"icon:"& rs("icon") &";"
if rs("data")<>"" then node = node &"data:"& reg.replace(rs("data"), chr(15)) &";"
if rs("url")<>"" then node = node &"url:"& reg.replace(rs("url"), chr(15)) &";"
if rs("target")<>"" then node = node &"target:"& rs("target") &";"
if rs("method")<>"" then node = node &"method:"& reg.replace(rs("method"), chr(15)) &";"
response.write node &"""" '生成节点信息
rs.movenext
loop
%>
tree.setURL("Catalog.asp");
tree.setTarget("MzMain");
document.write(tree.toString()); //亦可用 obj.innerHTML = tree.toString();
//-->
</SCRIPT>
</body>
</html>
<%
rs.close : set rs = nothing : Conn.close : set Conn = nothing
%>==================================
说明:
例子给的是使用纪录集我在页面中已生成Dataset对象,请问如何用Dataset对象仿上面的代码生成Tree??Dataset的datatable的列名等于上面的纪录集的字段名
<% Option Explicit %>
<%
Dim Conn, rs
Set Conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset") Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("./") &"\tree.mdb;"
rs.open "Select ID, parentId, text, hint, icon, data, url, target, method From treeview order by ID", Conn
%>
<html>
<head>
<title>梅花雪</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="JavaScript" src="MzTreeView10.js"></script>
<style>
A.MzTreeview
{
font-size: 9pt;
padding-left: 3px;
}
</style>
</head> <body class=frame>
<SCRIPT LANGUAGE="JavaScript">
<!--
window.tree = new MzTreeView("tree"); tree.icons["property"] = "property.gif";
tree.icons["css"] = "collection.gif";
tree.icons["book"] = "book.gif";
tree.iconsExpand["book"] = "bookopen.gif"; //展开时对应的图片
tree.setIconPath("http://www.meizz.com/Icons/TreeView/"); //可用相对路径
<%
Dim node
Dim reg : set reg = new RegExp : reg.global=True : reg.pattern=";"
Dim id, parentId, text, hint, icon, data, url, target, method
do while not rs.eof
'若是树的条目比较多的时候(比如大于1000)而又相对稳定的时候将这些数据生成静态网页来访问
node = VBCrLf &" tree.nodes["""& rs("parentId") &"_"& rs("id") &"""] = """
node = node &"text:"& reg.replace(rs("text"), chr(15)) &";"
if rs("hint")<>"" then node = node &"hint:"& reg.replace(rs("hint"), chr(15)) &";"
if rs("icon")<>"" then node = node &"icon:"& rs("icon") &";"
if rs("data")<>"" then node = node &"data:"& reg.replace(rs("data"), chr(15)) &";"
if rs("url")<>"" then node = node &"url:"& reg.replace(rs("url"), chr(15)) &";"
if rs("target")<>"" then node = node &"target:"& rs("target") &";"
if rs("method")<>"" then node = node &"method:"& reg.replace(rs("method"), chr(15)) &";"
response.write node &"""" '生成节点信息
rs.movenext
loop
%>
tree.setURL("Catalog.asp");
tree.setTarget("MzMain");
document.write(tree.toString()); //亦可用 obj.innerHTML = tree.toString();
//-->
</SCRIPT>
</body>
</html>
<%
rs.close : set rs = nothing : Conn.close : set Conn = nothing
%>==================================
说明:
例子给的是使用纪录集我在页面中已生成Dataset对象,请问如何用Dataset对象仿上面的代码生成Tree??Dataset的datatable的列名等于上面的纪录集的字段名
解决方案 »
- 如何获取背景图片对象的宽度
- 新手求助,使用FormsAuthenticationTicket的问题
- 难题!!高手请。。。。怎样在asp.net中通过outlook发送邮件?
- 困惑:为什么vs2005中htmlTable的属性框中没有bgcolor,bordercolor属性?
- 急!!!大家帮我看看这几行代码,为什么总是报错?
- Dataset 中 多表格 的 外联
- 请教如何去掉分页中得两个"<>"箭头?
- VS2005 ASP.NET2.0 发布网站显示发布成功,却在目标文件夹里没有任何文件!
- 如何在原来的datatable上修改数据
- 怎样才能不做page_load事件?
- 不知道如何隐藏treeview的子节点,我的treeview是静态的
- 给分的
lz应该到web开发栏目中
{
//rs("hint")替换为row["hint"]
}其他比如字符的连接与替换也没什么难度吧
可能大家误会了。
<SCRIPT LANGUAGE="JavaScript">
<!--
window.tree = new MzTreeView("tree"); tree.icons["property"] = "property.gif";
tree.icons["css"] = "collection.gif";
tree.icons["book"] = "book.gif";
tree.iconsExpand["book"] = "bookopen.gif"; //展开时对应的图片
tree.setIconPath("http://www.meizz.com/Icons/TreeView/"); //可用相对路径
<%
Dim node
Dim reg : set reg = new RegExp : reg.global=True : reg.pattern=";"
Dim id, parentId, text, hint, icon, data, url, target, method
do while not rs.eof
'若是树的条目比较多的时候(比如大于1000)而又相对稳定的时候将这些数据生成静态网页来访问
node = VBCrLf &" tree.nodes["""& rs("parentId") &"_"& rs("id") &"""] = """
node = node &"text:"& reg.replace(rs("text"), chr(15)) &";"
if rs("hint")<>"" then node = node &"hint:"& reg.replace(rs("hint"), chr(15)) &";"
if rs("icon")<>"" then node = node &"icon:"& rs("icon") &";"
if rs("data")<>"" then node = node &"data:"& reg.replace(rs("data"), chr(15)) &";"
if rs("url")<>"" then node = node &"url:"& reg.replace(rs("url"), chr(15)) &";"
if rs("target")<>"" then node = node &"target:"& rs("target") &";"
if rs("method")<>"" then node = node &"method:"& reg.replace(rs("method"), chr(15)) &";"
response.write node &"""" '生成节点信息
rs.movenext
loop
%>
tree.setURL("Catalog.asp");
tree.setTarget("MzMain");
document.write(tree.toString()); //亦可用 obj.innerHTML = tree.toString();
//-->
</SCRIPT>
</body>
</html>
<%
rs.close : set rs = nothing : Conn.close : set Conn = nothing
%>
----------------
上面这段代码如何写在后台,不要直接写在页面级文件中。用ASP。NET来实现。
<!--
window.tree = new MzTreeView("tree"); tree.icons["property"] = "property.gif";
tree.icons["css"] = "collection.gif";
tree.icons["book"] = "book.gif";
tree.iconsExpand["book"] = "bookopen.gif"; //展开时对应的图片
tree.setIconPath("http://www.meizz.com/Icons/TreeView/"); //可用相对路径
<%=node%>
tree.setURL("Catalog.asp");
tree.setTarget("MzMain");
document.write(tree.toString()); //亦可用 obj.innerHTML = tree.toString();
//-->
</SCRIPT>node是后台代码中定义的一个string变量,在后台代码中给它赋值就可以了
如我上面所说,循环遍历或者整个JavaScript脚本作为字符串输出也可以