<%@ 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的列名等于上面的纪录集的字段名

解决方案 »

  1.   

    asp?
    lz应该到web开发栏目中
      

  2.   

    foreach (DataRow row in Dataset1.Tables[0].Rows)
    {
          //rs("hint")替换为row["hint"]
    }其他比如字符的连接与替换也没什么难度吧
      

  3.   

    我的意思是
    可能大家误会了。
    <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来实现。
      

  4.   

    <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/"); //可用相对路径
    <%=node%>
        tree.setURL("Catalog.asp");
        tree.setTarget("MzMain");
        document.write(tree.toString());    //亦可用 obj.innerHTML = tree.toString();
        //-->
        </SCRIPT>node是后台代码中定义的一个string变量,在后台代码中给它赋值就可以了
    如我上面所说,循环遍历或者整个JavaScript脚本作为字符串输出也可以