Extended TreeView
page 6 of 10
by G. Mohyuddin
Feedback
Average Rating: 
Views (Total / Last 10 Days): 52144/ 181

A real world example

Let us take a real world example to use XTreeView. Here, I have the database of Pakistan’s cities. There are three tables in it. They are related with each other with parent child relationship. The following figure shows this.

Figure 5

In Pakistan we have Provinces, a province can have multiple regional Divisions and a division can have multiple Districts. Hence, as shown in the above diagram, we have Provinces as parent table, Divisions as child table that has ProvinceID as foreign key, and Districts as the grand child table having DivisionID as the foreign key. Now let us see how we can bind this database with XtreeView. First, drag XTreeView control and drop on the page and set the aforementioned properties. The following listing shows this.

Listing 5

<cc1:XTreeView ID="XTreeView1"
 runat="server"
 ConnectionString="Data Source=gmohyd-serv;Initial Catalog=pakistan_db;Integrated Security=True"  
ParentTableName="Provinces"
ParentNodeTextField="ProvinceName" 
ParentNodeValueField="ProvinceURL" 
ParentChildRealtionField="ProvinceID" 
ChildTableName="Divisions" 
ChildNodeTextField="DivisionName" 
ChildNodeValueField="DivisionURL" 
ChildParentRelationField="ProvinceID" 
ChildGrandChildRelationField="DivisionID"
GrandChildTableName="Districts"
GrandChildNodeTextField="DistrictName"
GrandChildNodeValueField="DistrictURL"
GrandChildRelationField="DivisionID" >
</cc1:XTreeView>

The properties in bold are mandatory. If you do not set other properties, even then it works fine. By default, it takes the first field as the value field and the second field as the text field. If you have tables with this design then you do not need to set all properties, go for only the mandatory ones.

You might have noticed that in Child part of properties we have two properties for the relation fields. Since it is mandatory to relate the child with its parent and its grand child, we require ChildParentRelationField  and ChildGrandChildRelationField for its relation with parent and grand child,respectively.  

Hence it accomplishes binding XTreeView with database. Here is the output when viewed in the browser.

Figure 6


View Entire Article

User Comments

Title: hi   
Name: masoud
Date: 2012-05-28 6:35:45 AM
Comment:
thank for you
Title: hi   
Name: enes
Date: 2011-05-18 8:22:06 AM
Comment:
thats realy good artical thank you .. But when i try with mdb it's not support have can i do ..thanks..
Title: Thanks alot..   
Name: vikram dhawan
Date: 2010-10-20 6:52:17 AM
Comment:
Thanks,i was looking for it the same thing.
God bless you..
keep writing more articles...
thanks again...
Title: Ok   
Name: Alberto
Date: 2010-07-30 4:45:45 PM
Comment:
Hello Mahr
your control is ok but I need it to be strong signed. I have to put the control in sharepoint page and, as you know, sharepoint does not like not signed assembly.
Can you help me?
Thanks
Alberto
Title: Code will not work   
Name: Tiger Woods
Date: 2010-04-06 1:54:17 PM
Comment:
FYI, if you use ImageSet="Simple"
Title: Where is the ExtendedXControls Code?   
Name: OutOfTouch
Date: 2010-02-20 5:43:03 PM
Comment:
Where is the code for the TreeView? All I see is a sample web using the exteneded controls dll?
Title: Expand Node on Mouse over   
Name: Mak
Date: 2008-08-07 5:14:46 PM
Comment:
I need a TreeView who's node will expand on mouse over.

Any View's ??
Title: SelectedIndex   
Name: Mark
Date: 2008-02-18 9:37:57 AM
Comment:
Hi Mahr,
Thanks for the reply. I read the article and it was very helpful in terms of learning the basics on how to extend a control. Thank you. The thing is that with the treeview webcontrol, as you mention in your article, is missing certain mission-critical functionality, such is when posting back it not showing the selected noded in the window, so each time the user has to scroll down. That's crazy-making. I looked at your extendedtreeview.dll in reflector to see if I could figure out how to get it to work properly when I extend the control, but to be honest, I couldn't put it together. Could you help me with this? It would be awesome if you can get me going. The only thing I care about at the moment with treeview is this retarded postback issue. Everything else I have working fine. Thank you!
Title: Re: It Dont Work   
Name: Mahr G. Mohyuddin
Date: 2008-01-26 1:02:32 AM
Comment:
Hi,

You have not read the artcile
You have not used the "value" property for keeping url. DONT use url property.
Title: It Dont Work   
Name: James
Date: 2008-01-25 12:20:29 PM
Comment:
Hi

Downloaded and replaced an existing tree view with yours. Works exactly as existing tree view, that’s the problem, it is not remembering its state.

Is there a website, page or control setting I need to set?
Title: Re: extendedtreeview.dll   
Name: Mahr G. Mohyuddin
Date: 2008-01-17 2:19:41 PM
Comment:
Hi Mark!
My another article "Developing Custom Controls Part 1" has recently been published. You may view it wwww.aspalliance.com/1526. It explains in detail the types of custom cotrols and the steps in detail required to develope custom controls ( extended one in first part , ExtendedTextBox ). although I have not made exended treeview as an example in this yet reading this article will let you know all required steps and their detail for extending any control.
Title: extendedtreeview.dll   
Name: mark
Date: 2008-01-17 8:05:22 AM
Comment:
Hi Mohyuddin,
Very cool. Just wondering, you mention "This article does not explain how to extend a TreeView control. That will be covered in a separate article"... just wondering, have you had a chance to publish that one? If so, could you post a link to it? That would be great. Thanks!
Title: Re: NO SaveExpandedState property   
Name: G. Mohyuddin
Date: 2007-12-06 3:06:40 AM
Comment:
Hi Mike,

Actually the Extended Treeview saves its state by default you won't need set any property. Earlier the property SaveExpandedState was there later it was excluded and I am sorry I could not remove it from article's text.

Do let me know, if you have any concern regarding this.

Regards.
Title: G. Mohyuddin   
Name: Re: Problem
Date: 2007-06-22 6:13:47 AM
Comment:
Hi,

You dont need to look for SaveExpansionState property. By default it supports treeview sate saving. Initially I provided this to turn it off/on but later i intentionally removed from code but forgot to remove it from documentation. use it u dont need to set any property for expansion sate saving.
Title: Problem   
Name: Nick
Date: 2007-06-22 4:21:53 AM
Comment:
Hi Just downloaded this,just what I need, SaveExpansionState, except this feature is missing. I have gone through all the options and cannot find the feature. According to your info above it should be between populatenodesfromclient and showcheckboxes, but it is not there. Help !!!!!
Title: Re: Great Work   
Name: G. Mohyuddin
Date: 2007-05-23 9:12:36 AM
Comment:
Thanks, Amir Mughal!
Title: Great Work   
Name: M Aamir Mughal
Date: 2007-05-23 8:57:13 AM
Comment:
ha!
great work man :)
keep it up ... (Y)
Title: Re:Nice Work   
Name: G. Mohyuddin
Date: 2007-05-23 2:32:35 AM
Comment:
Thanks! Waheed Aslam.
Title: Nice Work   
Name: Waheed Aslam Ghuman
Date: 2007-05-23 2:31:15 AM
Comment:
Great work G. Mohyuddin. Features added to treeview are really very useful and very much desired by most developers

Product Spotlight
Product Spotlight 





Community Advice: ASP | SQL | XML | Regular Expressions | Windows


©Copyright 1998-2019 ASPAlliance.com  |  Page Processed at 2019-12-07 1:52:20 AM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search