Hello All,
I wrote a function that will create a file system
directory for my web application and display it in the IE
Treeview control. Everything wrotes great! What I'm having
trouble with is return the full directory path for the
selected node (the file). Can someone review my procedure
for the tvMenu_SelectedIndexChange event? Here is my
source code:
****** Code Start Here *********
Dim strDirectories As String()
Dim strDirectory As String
Dim strFiles As String()
Dim strFile As String
Dim nodDirectory As TreeNode
Dim nodFile As TreeNode
Dim nodRoot As TreeNode
Dim strFullPath As String
Public Function LoadFiles(ByVal FolderName As String,
ByVal RootName As String)
Try
strDirectories = Directory.GetDirectories
(Server.MapPath(FolderName))
strfiles = Directory.GetFiles(Server.MapPath
(FolderName))
nodRoot = New TreeNode
nodRoot.Text = RootName
Me.tvMenu.Nodes.Add(nodRoot)
If strDirectories.Length <= 0 Then
For Each strFile In strFiles
nodFile = New TreeNode
nodFile.Text = strFile.Substring
(strFile.LastIndexOf("\") + 1)
nodRoot.Nodes.Add(nodFile)
Next
Else
For Each strDirectory In strDirectories
nodDirectory = New TreeNode
nodDirectory.Text =
strDirectory.Substring(strDirectory.LastIndexOf("\ ") + 1)
nodRoot.Nodes.Add(nodDirectory)
For Each strFile In Directory.GetFiles
(strDirectory)
nodFile = New TreeNode
nodFile.Text = strFile.Substring
(strFile.LastIndexOf("\") + 1)
nodDirectory.Nodes.Add(nodFile)
Next
Next
End If
Catch exLoadFiles As Exception
Throw exLoadFiles
End Try
Return LoadFiles
End Function
Private Sub Page_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
LoadFiles("PDF", "PDF Files")
LoadFiles("Excel", "MS Excel")
LoadFiles("Text", "Text Files")
LoadFiles("Word", "MS Word")
End If
End Sub
Private Sub tvMenu_SelectedIndexChange(ByVal sender As
Object, ByVal e As
Microsoft.Web.UI.WebControls.TreeViewSelectEventAr gs)
Handles tvMenu.SelectedIndexChange
Response.Write(Me.tvMenu.Nodes.Item
(Me.tvMenu.SelectedNodeIndex).Text)
End Sub
******* Code End Here *********