<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,  comments - 11,  trackbacks - 0
    本程序有兩文件test.asp 和tree.asp 還有一些圖標(biāo)文件。

    1. test.asp 調(diào)用類(lèi)生成樹(shù)代碼如下

    <%@ Language=VBScript %>
    <html>
    <head>
    <link rel="stylesheet" href="tree.css">
    <title>tree</title>
    </head>
    <!-- #include file="tree.asp" -->
    <%

    '========================================
    ' BUILDING A TREE PROGRAMATICALLY
    '========================================
    ' This approach would be best suited for building
    ' dynamic trees using For..Next loops and such.

    Set MyTree2 = New Tree
    MyTree2.Top = 10
    MyTree2.Left = 10
    MyTree2.ExpandImage = "plus.gif"
    MyTree2.CollapseImage = "minus.gif"
    MyTree2.LeafImage = "webpage.gif"

    ' Notice the indentation used to reprensent the hierarchy
    Set Node1 = MyTree2.CreateChild("script")
    Set SubNode1 = Node1.CreateChild("server")
    Set secSubNode1 = SubNode1.CreateChild("html")
    secSubNode1.CreateChild "<A HREF=""http://127.0.0.1/"">asp</A>"
    secSubNode1.CreateChild "<A HREF=""http://127.0.0.1/"">php</A>"
    secSubNode1.CreateChild "<A HREF=""http://127.0.0.1/"">jsp</A>"

    Set SubNode2 = Node1.CreateChild("os")
    SubNode2.CreateChild "<A HREF=""#"">winnt</A>"
    SubNode2.CreateChild "<A HREF=""#"">win2000</A>"

    Set Node2 = MyTree2.CreateChild("Desktop")
    Node2.CreateChild "<A HREF=""#"">Area Code Lookup</A>"
    Node2.CreateChild "<A HREF=""#"">Arin Based Whois Search</A>"
    Node2.CreateChild "<A HREF=""#"">World Time Zone Map</A>"

    MyTree2.Draw()

    Set MyTree2 = Nothing

    %>

    </BODY>
    </HTML>


    2. tree.asp 類(lèi)的定義 代碼如下

    <%

    Dim gblTreeNodeCount:gblTreeNodeCount = 1

    Class TreeNode

    Public Value
    Public ExpandImage
    Public CollapseImage
    Public LeafImage
    Public Expanded
    Private mszName
    Private mcolChildren
    Private mbChildrenInitialized

    Public Property Get ChildCount()
    ChildCount = mcolChildren.Count
    End Property

    Private Sub Class_Initialize()
    mszName = "node" & CStr(gblTreeNodeCount)
    gblTreeNodeCount = gblTreeNodeCount + 1

    mbChildrenInitialized = False
    Expanded = False
    End Sub

    Private Sub Class_Terminate()
    If mbChildrenInitialized And IsObject(mcolChildren) Then
    mcolChildren.RemoveAll()
    Set mcolChildren = Nothing
    End If
    End Sub

    Private Sub InitChildList()
    Set mcolChildren = Server.CreateObject("Scripting.Dictionary")
    mbChildrenInitialized = True
    End Sub

    Private Sub LoadState()
    If Request(mszName) = "1" Or Request("togglenode") = mszName Then
    Expanded = True
    End If
    End Sub

    Public Function CreateChild(szValue)

    If Not mbChildrenInitialized Then InitChildList()

    Set CreateChild = New TreeNode
    CreateChild.Value = szValue
    CreateChild.ExpandImage = ExpandImage
    CreateChild.CollapseImage = CollapseImage
    CreateChild.LeafImage = LeafImage

    mcolChildren.Add mcolChildren.Count + 1, CreateChild

    End Function

    Public Sub Draw()

    LoadState()

    Response.Write "<table border=""0"">" & vbCrLf
    Response.Write "<tr><td>" & vbCrLf

    If Expanded Then
    Response.Write "<a href=""javascript:collapseNode('" & mszName & "')""><img src=""" & CollapseImage & """ border=""0""></a>" & vbCrLf
    ElseIf Not mbChildrenInitialized Then
    Response.Write "<img src=""" & LeafImage & """ border=0>" & vbCrLf
    Else
    Response.Write "<a href=""javascript:expandNode('" & mszName & "')""><img src=""" & ExpandImage & """ border=""0""></a>" & vbCrLf
    End If

    Response.Write "</td>" & vbCrLf
    Response.Write "<td>" & Value & "</td></tr>" & vbCrLf

    If Expanded Then
    Response.Write "<input type=""hidden"" name=""" & mszName & """ value=""1"">" & vbCrLf

    If mbChildrenInitialized Then
    Response.Write "<tr><td> </td>" & vbCrLf
    Response.Write "<td>" & vbCrLf

    For Each ChildNode In mcolChildren.Items
    ChildNode.Draw()
    Next

    Response.Write "</td>" & vbCrLf
    Response.Write "</tr>" & vbCrLf
    End If
    End If

    Response.Write "</table>" & vbCrLf

    End Sub

    End Class


    Class Tree

    Public Top
    Public Left
    Public ExpandImage
    Public CollapseImage
    Public LeafImage
    Private mszPosition
    Private mcolChildren

    Public Property Let Absolute(bData)
    If bData Then mszPosition = "absolute" Else mszPosition = "relative"
    End Property

    Public Property Get Absolute()
    Absolute = CBool(mszPosition = "absolute")
    End Property

    Private Sub Class_Initialize()
    Set mcolChildren = Server.CreateObject("Scripting.Dictionary")
    mnTop = 0
    mnLeft = 0
    mszPosition = "absolute"
    End Sub

    Private Sub Class_Terminate()
    mcolChildren.RemoveAll()
    Set mcolChildren = Nothing
    End Sub

    Public Function CreateChild(szValue)

    Set CreateChild = New TreeNode

    CreateChild.Value = szValue
    CreateChild.ExpandImage = ExpandImage
    CreateChild.CollapseImage = CollapseImage
    CreateChild.LeafImage = LeafImage

    mcolChildren.Add mcolChildren.Count + 1, CreateChild

    End Function

    Public Sub LoadTemplate(szFileName)
    Dim objWorkingNode
    Dim colNodeStack
    Dim fsObj, tsObj
    Dim szLine
    Dim nCurrDepth, nNextDepth

    Set colNodeStack = Server.CreateObject("Scripting.Dictionary")
    Set fsObj = CreateObject("Scripting.FileSystemObject")
    Set tsObj = fsObj.OpenTextFile(szFileName, 1)

    nCurrDepth = 0
    While Not tsObj.AtEndOfLine
    nNextDepth = 1
    szLine = tsObj.ReadLine()

    If nCurrDepth = 0 Then
    Set objWorkingNode = CreateChild(Trim(szLine))
    nCurrDepth = 1
    Else
    While Mid(szLine,nNextDepth,1) = vbTab Or Mid(szLine,nNextDepth,1) = " "
    nNextDepth = nNextDepth + 1
    WEnd

    If nNextDepth > 1 Then szLine = Trim(Mid(szLine,nNextDepth))

    If szLine <> "" Then
    If nNextDepth > nCurrDepth Then
    If colNodeStack.Exists(nCurrDepth) Then
    Set colNodeStack.Item(nCurrDepth) = objWorkingNode
    Else
    colNodeStack.Add nCurrDepth, objWorkingNode
    End If

    Set objWorkingNode = objWorkingNode.CreateChild(szLine)

    nCurrDepth = nCurrDepth + 1
    ElseIf nNextDepth <= nCurrDepth Then

    If nNextDepth > 1 Then

    nNextDepth = nNextDepth - 1
    While Not colNodeStack.Exists(nNextDepth) And nNextDepth > 1
    nNextDepth = nNextDepth - 1
    WEnd

    Set objWorkingNode = colNodeStack.Item(nNextDepth)
    Set objWorkingNode = objWorkingNode.CreateChild(szLine)

    nNextDepth = nNextDepth + 1
    Else
    Set objWorkingNode = CreateChild(szLine)
    End If

    nCurrDepth = nNextDepth
    End If
    End If

    End If
    WEnd

    tsObj.Close()
    Set tsObj = Nothing
    Set fsObj = Nothing

    colNodeStack.RemoveAll()
    Set colNodeStack = Nothing

    End Sub


    Public Sub Draw()

    AddClientScript()

    Response.Write "<div id=""treectrl"" style=""left: " & Left & "px; top: " & Top & "px; position: " & mszPosition & ";"">" & vbCrLf
    Response.Write "<form name=""treectrlfrm"" action=""" & Request.ServerVariables("SCRIPT_NAME") & """ method=""get"">" & vbCrLf
    Response.Write "<table border=""0"">" & vbCrLf
    Response.Write "<tr><td>" & vbCrLf

    For Each ChildNode In mcolChildren.Items
    ChildNode.Draw()
    Next

    Response.Write "</td></tr>" & vbCrLf
    Response.Write "</table>" & vbCrLf

    Response.Write "<input type=""hidden"" name=""togglenode"" value="""">" & vbCrLf
    Response.Write "</form>" & vbCrLf
    Response.Write "</div>" & vbCrLf

    End Sub

    Private Sub AddClientScript()
    %>
    <script language="JavaScript">

    function expandNode(szNodeName)
    {
    if(document.layers != null) {
    document.treectrl.document.treectrlfrm.togglenode.value = szNodeName;
    document.treectrl.document.treectrlfrm.submit();
    }
    else {
    document.all["treectrlfrm"].togglenode.value = szNodeName;
    document.all["treectrlfrm"].submit();
    }
    }

    function collapseNode(szNodeName)
    {
    if(document.layers != null) {
    document.treectrl.document.treectrlfrm.elements[szNodeName].value = -1;
    document.treectrl.document.treectrlfrm.submit();
    }
    else {
    document.treectrlfrm.elements[szNodeName].value = -1;
    document.treectrlfrm.submit();
    }
    }

    </script>
    <%
    End Sub

    End Class

    %>
    posted on 2008-06-23 15:04 jadmin 閱讀(103) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 免费在线观看自拍性爱视频| 成人特级毛片69免费观看| 久久笫一福利免费导航| 亚洲乱码一二三四区麻豆| 99re热免费精品视频观看 | 曰韩亚洲av人人夜夜澡人人爽| 久久亚洲AV永久无码精品| 久久99精品免费一区二区| 亚洲熟妇少妇任你躁在线观看| 91成人免费观看在线观看| 成人免费毛片观看| 美女免费精品高清毛片在线视| 99视频精品全部免费观看| 亚洲熟妇少妇任你躁在线观看无码| 亚洲国产成a人v在线| 日韩免费无砖专区2020狼| 亚洲精品永久www忘忧草| 免费观看的毛片手机视频| 成人无码区免费A片视频WWW| 亚洲色偷偷综合亚洲AV伊人蜜桃| 国内免费高清在线观看| 美女网站在线观看视频免费的| 国产精品亚洲视频| 男人的好看免费观看在线视频| 亚洲精品无码永久中文字幕 | 花蝴蝶免费视频在线观看高清版| 亚洲综合国产精品第一页| 中文字幕免费观看全部电影| 亚洲午夜精品久久久久久app| 日本人的色道www免费一区| 看Aⅴ免费毛片手机播放| 亚洲五月午夜免费在线视频| 无码一区二区三区免费视频 | 亚洲五月午夜免费在线视频| 国产一卡2卡3卡4卡2021免费观看 国产一卡2卡3卡4卡无卡免费视频 | 57PAO成人国产永久免费视频| 最新国产精品亚洲| 免费中文字幕不卡视频| 91精品免费国产高清在线| 亚洲人成人伊人成综合网无码| 免费大片黄手机在线观看|