Solved

Adding a FullPath method to the TreeNode object of the TreeView object

Posted on 2004-09-18
4
1,499 Views
Last Modified: 2008-02-01
Dear Fellow Human,

I am creating a TreeView that is linked to the filesystem.

I am using ASP.NET and the Treeview object.  I created an expand event that passed through e As TreeViewClickEventArgs.

I can inspect e.Node to get the "nodeIndex" i.e. "0.0.0" etc.

I can also
     Dim expandNode As TreeNode
     expandNode = Tree.GetNodeFromIndex(e.Node)

In VB.NET (Windows Forms), the TreeNode object has a "FullPath" method.
In ASP.NET (Web Forms), the TreeNode object does not have this method.

So I had to write a Function to take a nodeIndex e.g. "0.0.0" and convert it to the FullPath.  This wasn't very elegant.

Dim FullPath As String
FullPath = TreeNodePath(expandNode.GetNodeIndex)

Here is the function, skip past this for more information.

 Function TreeNodePath(ByVal nodeIndex As String) As String
        Dim i As Integer
        Dim fullPath, currentIndex As String
        Dim indexArray As Array

        ' split the nodeIndex path, usually nodeIndexes are of the form 0.1.0 or 0.2.1
        indexArray = nodeIndex.Split(".")

        For i = 0 To indexArray.GetUpperBound(0)
            If i = 0 Then
                ' this will be the root node
                currentIndex = indexArray(i)
            Else
                currentIndex += "." & indexArray(i)
            End If

            If i = indexArray.GetUpperBound(0) Then
                ' last node so don't have to add a "\"
                fullPath += Tree.GetNodeFromIndex(currentIndex).Text
            Else
                fullPath += Tree.GetNodeFromIndex(currentIndex).Text & "\"
            End If
        Next

        Return fullPath
    End Function

What I would like to do... is somehow add the TreeNodePath function to the TreeNode object of the TreeView object.  I would probably rename it to "FullPath" to keep it in line with the VB.NET TreeNode object (Windows Forms).  

I know that the new version of the TreeView object in ASP 2.0, will most likely have this method available in the TreeNode Object.  

However, I want to improve my coding skills, and understand how I could merge extra methods into existing objects.

Is this possible?

Kind Regards,
Dave Kirkby
<email removed by mmarinov .NET Topic Area Page Editor>
0
Comment
Question by:tidydave
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
4 Comments
 
LVL 28

Accepted Solution

by:
mmarinov earned 500 total points
ID: 12097205
Hi tidydave,

You have to create your server control, that inherits the Treeview control as a base an improve it
then you can add your method, and from this moment you can use the new created control, and not the original one

B..M
0

Featured Post

MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

One of the pain points with developing AJAX, JavaScript, JQuery, and other client-side behaviors is that JavaScript doesn’t allow for cross domain request for pulling content. For example, JavaScript code on www.johnchapman.name could not pull conte…
Today is the age of broadband.  More and more people are going this route determined to experience the web and it’s multitude of services as quickly and painlessly as possible. Coupled with the move to broadband, people are experiencing the web via …
In this video, viewers are given an introduction to using the Windows 10 Snipping Tool, how to quickly locate it when it's needed and also how make it always available with a single click of a mouse button, by pinning it to the Desktop Task Bar. Int…
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question