This is a migrated thread and some comments may be shown as answers.

Access a treeview inside a PanelBar

2 Answers 91 Views
PanelBar
This is a migrated thread and some comments may be shown as answers.
sudesh
Top achievements
Rank 1
sudesh asked on 21 Apr 2009, 10:05 AM
Hello,

There is a treeview control added as a item inside a PanelBar. I tried to add a tree node to the treeview by calling "RadTreeView1.Nodes.add(node)". It is not possible to directly access the RadTreeView inside the page load.

Below code was tried but still it gives a runtime error.
                RadTreeView treeViewControl = (RadTreeView)Page.FindControl("RadTreeView1");
                treeViewControl.Nodes.Add(node);

Could you please let me know how i can add a node to the treeView in the page load method.

Thank you,
Sudesh

2 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 21 Apr 2009, 10:34 AM
Hi Sudesh,

I guess you have added RadTreeView as ItemTemplate of RadPanelItem and want to access the TreeView in PageLoad event. If so give a try with following code and see whether it is working as expected.

ASPX:
 
<telerik:radpanelbar id="RadPanelBar1" runat="server"
<Items> 
  <telerik:RadPanelItem runat="server" Text="Root RadPanelItem1"
     <ItemTemplate> 
     <telerik:RadTreeView ID="RadTreeView1" runat="server"
     <Nodes> 
         <telerik:RadTreeNode Text="Node1"></telerik:RadTreeNode> 
     </Nodes> 
     </telerik:RadTreeView> 
     </ItemTemplate> 
  </telerik:RadPanelItem> 
  <telerik:RadPanelItem runat="server" Text="Root RadPanelItem2"></telerik:RadPanelItem> 
  <telerik:RadPanelItem runat="server" Text="Root RadPanelItem3"></telerik:RadPanelItem> 
</Items> 
</telerik:radpanelbar> 

CS:
 
protected void Page_Load(object sender, EventArgs e) 
    RadPanelItem PanelItem = (RadPanelItem) RadPanelBar1.FindItemByText("Root RadPanelItem1");  //Get the Panel Item       
    RadTreeNode node = new RadTreeNode("New Node");         //Create new node 
    RadTreeView treeViewControl = (RadTreeView)PanelItem.FindControl("RadTreeView1"); //Get reference to TreeView 
    treeViewControl.Nodes.Add(node);                        //Add node to TreeView 

Thanks,
Shinu.
0
Paul
Telerik team
answered on 21 Apr 2009, 10:57 AM
Hi Sudesh,

The FindControl method provides you with a reference to any control inside any of the templates used in the RadPanelBar or any of its PanelItems. You have to make sure that you properly typecast the returned value as FindControl returns a reference to a Control class. For details on the matter please take a look at this example.

Greetings,
Paul
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
Tags
PanelBar
Asked by
sudesh
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Paul
Telerik team
Share this question
or