Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

xanburzum

[Resolvido] AspTreeView 2

Recommended Posts

O componente AspTreeView 2 possui diversas funcionalidades agregadas a ele. Podemos utilizar este componente utilizando estilos já pré-definidos pelo fabricante. Desta forma nossa “árvore” fica com um aspecto mais atraente e podemos ainda utilizá-la de forma dinâmica.

 

Podemos citar algumas propriedades interessantes. Na propriedade “FolderIcons”, alocamos o valor referente aos ícones que serão utilizados pelo componente. Na propriedade “FolderStyle”, escolhemos o estilo utilizado na apresentação do componente ao navegador Web.

 

 

<%
' Cria uma instância do controle
Set AspTreeView = Server.CreateObject("obout_ASPTreeview_2.Tree")
' Nó raiz
AspTreeView.AddRootNode "Componentes ASP", "xpMyComp.gif"

' Depois populamos estes nós utilizando outro nó
AspTreeView.Add "root", "a0", "Manipulação de Arquivos XML", True
  AspTreeView.Add "a0", "a0_0", "MSXML - Microsoft"
  AspTreeView.Add "a0", "a0_1", "ASP XML Parser - Chilkat Software"
 
AspTreeView.Add "root", "a1", "Links", False, "book.gif"
  AspTreeView.Add "a1", "a1_0", "<a href='http://www.obout.com/'>Site do Fabricante</a>" , , "page.gif"
  AspTreeView.Add "a1", "a1_1", "<a href='http://www.obout.com/t2/download.aspx'>Download do Componente</a>" , , "page.gif"

' Localização das pasta de ícones
AspTreeView.FolderIcons = "icons/"
' Localização da pasta de estilos
AspTreeView.FolderStyle = "style/Classic/"
' Localização da pasta de scripts
AspTreeView.FolderScript = "script/"
' Largura 
AspTreeView.Width = "250px"
'Exibe o componente no página
Response.Write AspTreeView.HTML()
' limpa o objeto
Set AspTreeView = Nothing
%>

Usando FileSystemObject

 

<html>
<head>
<title>ASPTreeview 2</title>
</head>
<body><%
'Declaração e de variáveis 
Dim sPath, ot, oFSO, sFolderName, i, iNode
 
'A variável sPath guarda o caminho raiz que deverá ser mostrado pelo componente
'Lembrando que o padrão da Locaweb é: e:\home\[seu site]\web\
sPath = server.mapPath(".")&"\"
 
'Recupera o nome da última pasta informada na variável sPath
Do Until Right(sPath, 1) = "\"
	sPath = Left(sPath, Len(sPath) - 1)
Loop
 
i = Len(sPath) - 1
Do Until Mid(sPath, i, 1) = "\"
	sFolderName = Mid(sPath, i, Len(sPath) - i)
	i = i - 1
Loop
 
'Cria os objetos AspTreeview 2 e FileSystemObject
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set ot = Server.CreateObject("obout_asptreeview_2.tree")
 
'Informa as pastas que contenham os ícones e estilos de seu componente
ot.FolderIcons = "Icons"
ot.FolderStyle = "Styles/Win2003"
 
ot.AddRootNode "<b style='color:navy;'>" & sFolderName & "</b>"
 
' Mostra arquivos e pastas
Call AddFolder(sPath, "../" & Escape(sFolderName), "root")
 
'Imprime componente na página
Response.Write ot.HTML
Set ot = Nothing
Set oFSO = Nothing
 
'Função que organiza pastas e arquivos
Function AddFolder(pth, dpt, parentID)
 Dim oF, oFolder, oFile, oSubFolder, oItem
 
Set oFolder = oFSO.GetFolder(pth)
Set oSubFolder = oFolder.SubFolders
Set oFile = oFolder.Files
 
'Mostra subpastas
For Each oItem In oSubFolder
	iNode = iNode + 1
	ot.Add parentID, "z" & iNode, "<span onclick='ob_t23(this)'>" & oItem.Name & "</span>", false
	Call AddFolder(oItem.Path, dpt & "/" & Escape(oItem.Name), "z" & iNode)
Next
 
'Mostra arquivos
For Each oF In oFile
	iNode = iNode + 1
	ot.Add parentID, "z" & iNode, "<a href=""" & dpt & "/" & Escape(oF.Name) & """>" & oF.Name & "</a>", , "page.gif"
Next
End Function
%></body>
</html>

utilizando banco de dados

 

<html>
<head>
<title>ASPTreeview 2</title>
</head>
<body><%
'Declaração de variáveis
Dim oTree, ParentID, Cn, Rs, Html
 
Set oTree = Server.CreateObject("obout_ASPTreeview_2.Tree")
 
'Escolhendo os ícones e estilos
oTree.FolderIcons = "Icons"
oTree.FolderStyle = "Styles/xpBlue"
 
'Título do menu
oTree.AddRootNode "Menu Dinâmico"
 
'Criando conexão com o banco de dados
Set Cn = Server.CreateObject("ADODB.Connection")
Cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(".") & "\menu.mdb;"
Cn.Open
 
'Requisitando dados do banco de dados
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open "SELECT PARENT,URL,HTML,ID,EXPANDED,ICON FROM tree ORDER BY parent, id", Cn, 0, 3
 
'Populando o componente com os dados recebidos do banco de dados
Do Until Rs.EOF
   'Verifica se é um nó raiz. Obs: A variável "ParentID" deve começar com um caracter.
   If IsNull(Rs("PARENT")) Then
	  ParentID = "root"
   Else
	   ParentID = "id" & Rs("PARENT")
   End If
 
  'Tratamos a variável HTML para receber o conteúdo e a URL do Link.
   Html = "<a href=" & Rs("URL") & ">" & Rs("HTML") & "</a>"
   oTree.Add ParentID, "id" & Rs("ID"), Html, Rs("EXPANDED"), Rs("ICON")
   Rs.MoveNext
Loop
 
'Imprimimos o componente
Response.Write oTree.HTML()
 
'Encerramos e destruímos os objetos criados
Set oTree = Nothing
 
Rs.Close
Set Rs = Nothing
 
Cn.Close
Set Cn = Nothing
%></body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.