生成目录树结构的类

本程序有两文件test.asp 和tree.asp 还有一些图标文件

十载专业的建站公司历程,坚持以创新为先导的网站服务,服务超过上1000+企业及个人,涉及网站设计、成都app开发、微信开发、平面设计、互联网整合营销等多个领域。在不同行业和领域给人们的工作和生活带来美好变化。

1。test.asp 调用类生成树 代码如下

<%@ Language=VBScript %>



tree


<%

''========================================
'' 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 "asp"
secSubNode1.CreateChild "php"
secSubNode1.CreateChild "jsp"

Set SubNode2 = Node1.CreateChild("os")
SubNode2.CreateChild "winnt"
SubNode2.CreateChild "win2000"

Set Node2 = MyTree2.CreateChild("Desktop")
Node2.CreateChild "Area Code Lookup"
Node2.CreateChild "Arin Based Whois Search"
Node2.CreateChild "World Time Zone Map"

MyTree2.Draw()

Set MyTree2 = Nothing

%>



2。tree.asp 类的定义 代码如下

<%
''******************************************************
'' Author: Jacob Gilley
'' Email: avis7@airmail.net
'' My Terms: You can use this control in anyway you see fit
'' cause I have no means to enforce any guidelines
'' or BS that most developers think they can get
'' you to agree to by spouting out words like
'' "intellectual property" and "The Code Gods".
'' - Viva la Microsoft!
''******************************************************

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 "

" & vbCrLf
Response.Write "
" & vbCrLf

If Expanded Then


当前文章:生成目录树结构的类
URL地址:http://myzitong.com/article/escceo.html