Solved

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

Posted on 2004-09-18
4
1,434 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
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

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

AJAX ModalPopupExtender has a required property "TargetControlID" which may seem to be very confusing to new users. It means the server control that will be extended by the ModalPopup, for instance, if when you click a button, a ModalPopup displays,…
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…
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…

706 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now