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

PanelBar accessing UserControl functions

6 Answers 91 Views
PanelBar
This is a migrated thread and some comments may be shown as answers.
Moon
Top achievements
Rank 2
Moon asked on 28 Aug 2009, 01:52 PM
I have radpanelbar defined in my code in front with an embedded user control.

<telerik:RadPanelBar ID="RadPanelBar1" runat="server">  
    <Items runat="server">  
        <telerik:RadPanelItem ID="RadPanelItem1" runat="server">  
            <uc:ComponentDescriptionPurpose ID="ComponentDescriptionPurpose" runat="server" /> 
        </telerik:RadPanelItem> 
    </Items> 
</telerik:RadPanelBar> 

In the code-behind, I need to access a function within the user control. I tried below to find it, but it doesn't work.
How do I find it within the panelbar so I can access its functions?
        Dim ComponentDescriptionPurpose As Telerik.Web.UI.RadPanelBar = DirectCast(Page.FindControl("ComponentDescriptionPurpose"), Telerik.Web.UI.RadPanelBar)  
 
        ComponentDescriptionPurpose.LoadByOrm(idKey) 

Thanks.

6 Answers, 1 is accepted

Sort by
0
Paul
Telerik team
answered on 28 Aug 2009, 02:18 PM
Hello Moon,

Here's a sample code snippet that shows the needed approach.

ASPX:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %> 
 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
<%@ Register Src="WebUserControl.ascx" TagName="WebUserControl" TagPrefix="uc1" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"
<head runat="server"
    <title></title
</head> 
<body> 
    <form id="form1" runat="server"
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server"
    </telerik:RadScriptManager> 
    <telerik:RadPanelBar ID="RadPanelBar1" runat="server"
        <Items runat="server"
            <telerik:RadPanelItem ID="RadPanelItem1" runat="server" Text="Root RadPanelItem1" 
                Expanded="true"
                <Items> 
                    <telerik:RadPanelItem runat="server" Value="templateHolder"
                        <ItemTemplate> 
                            <uc1:WebUserControl ID="WebUserControl1" runat="server" /> 
                        </ItemTemplate> 
                    </telerik:RadPanelItem> 
                </Items> 
            </telerik:RadPanelItem> 
        </Items> 
    </telerik:RadPanelBar> 
    </form> 
</body> 
</html> 
 

Code-behind:
Imports Telerik.Web.UI 
 
Partial Class Default2 
    Inherits System.Web.UI.Page 
 
    Protected Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load 
        Dim txtb As TextBox = DirectCast(RadPanelBar1.FindItemByValue("templateHolder").FindControl("WebUserControl1").FindControl("TextBox1"), TextBox) 
        txtb.Text = "test" 
    End Sub 
End Class 
 


Greetings,
Paul
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
0
Moon
Top achievements
Rank 2
answered on 28 Aug 2009, 03:15 PM
I tried that, but I want to access a function of the control itself. How do I call the function within the control?

thanks.
0
Paul
Telerik team
answered on 31 Aug 2009, 08:22 AM
Hello Moon,


I'm afraid your question is not related to any Telerik control. I suggest you google for a possible solutions on the matter, For example, you can start from these articles:

http://stackoverflow.com/questions/603419/public-methods-inside-user-control-c-net
http://stackoverflow.com/questions/360836/call-function-in-user-control-from-code-behind-of-the-page

Greetings,
Paul
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
0
Moon
Top achievements
Rank 2
answered on 16 Sep 2009, 02:25 PM
You did finally provide me with the solution via the support tickets... So I thought I should share it with others who want to know:

Codebehind:

            Dim ComponentDescriptionPurpose As ComponentDescriptionPurpose = DirectCast(RadPanelBar1.FindItemByValue("templateComponentDescriptionPurpose").FindControl("ComponentDescriptionPurpose"), ComponentDescriptionPurpose)  
            ComponentDescriptionPurpose.LoadByOrm(ReviewId) 

Here is the user control setup, code in front:
        <telerik:RadPanelItem ID="RadPanelItemComponentDescriptionPurpose" runat="server">  
            <Items> 
                <telerik:RadPanelItem runat="server" Value="templateComponentDescriptionPurpose">  
                    <ItemTemplate> 
                        <uc:ComponentDescriptionPurpose ID="ComponentDescriptionPurpose" runat="server" /> 
                    </ItemTemplate> 
                </telerik:RadPanelItem> 
            </Items> 
        </telerik:RadPanelItem> 
0
mathieu cupryk
Top achievements
Rank 1
answered on 11 Dec 2009, 08:14 AM

 

TextBox txtZipCode = (TextBox)RadPanelBar2.FindItemByValue("GeneralInformation").FindControl("ctrlAboutMe").FindControl("txtZipCode");

trying to get the text box.

 

 

<telerik:RadPageView ID="RadPageView2" runat="server">

 

 

 

 

 

<telerik:RadAjaxPanel ID="RadAjaxPanel2" runat="server">

 

 

 

 

 

<telerik:RadPanelBar ID="RadPanelBar2" runat="server" Skin="WebBlue" ExpandMode="FullExpandedItem"

 

 

 

 

 

Width="100%" Height="600px">

 

 

 

 

 

<Items>

 

 

 

 

 

<telerik:RadPanelItem runat="server" Text="GENERAL INFORMATION" Font-Bold="true"

 

 

 

 

 

Expanded="true">

 

 

 

 

 

<Items>

 

 

 

 

 

<telerik:RadPanelItem Value="GeneralInformation" runat="server">

 

 

 

 

 

<ItemTemplate>

 

 

 

 

 

<uc2:ctrlAboutMe ID="ctrlAboutMe" runat="server" />

 

 

 

 

 

<uc5:ctrlVisitorInformation ID="ctrlVisitorInformation" runat="server" />

 

 

 

 

 

</ItemTemplate>

 

 

 

 

 

</telerik:RadPanelItem>

 

 

 

 

 

</Items>

 

 

 

 

 

</telerik:RadPanelItem>

 

 

 

 

 

<telerik:RadPanelItem runat="server" Text="PHYSICAL CHARACTERISTICS" Font-Bold="true">

 

 

 

 

 

<Items>

 

 

 

 

 

<telerik:RadPanelItem runat="server">

 

 

 

 

 

<ItemTemplate>

 

 

 

 

 

<uc3:ctrlPhysicalAttributes ID="ctrlPhysicalAttributes" runat="server" />

 

 

 

 

 

</ItemTemplate>

 

 

 

 

 

</telerik:RadPanelItem>

 

 

 

 

 

</Items>

 

 

 

 

 

</telerik:RadPanelItem>

 

 

 

 

 

<telerik:RadPanelItem runat="server" Text="LIFESYLE AND HABBITS" Font-Bold="true">

 

 

 

 

 

<Items>

 

 

 

 

 

<telerik:RadPanelItem runat="server">

 

 

 

 

 

<ItemTemplate>

 

 

 

 

 

<uc4:ctrlLifeStyle ID="ctrlLifeStyle" runat="server" />

 

 

 

 

 

</ItemTemplate>

 

 

 

 

 

</telerik:RadPanelItem>

 

 

 

 

 

</Items>

 

 

 

 

 

</telerik:RadPanelItem>

 

 

 

 

 

<telerik:RadPanelItem runat="server" Text="RELATIONSHIPS AND CHILDREN" Font-Bold="true">

 

 

 

 

 

<Items>

 

 

 

 

 

<telerik:RadPanelItem runat="server">

 

 

 

 

 

<ItemTemplate>

 

 

 

 

 

<uc6:ctrlRelationshipChildren ID="ctrlRelationshipChildren" runat="server" />

 

 

 

 

 

</ItemTemplate>

 

 

 

 

 

</telerik:RadPanelItem>

 

 

 

 

 

</Items>

 

 

 

 

 

</telerik:RadPanelItem>

 

 

 

 

 

</Items>

 

 

 

 

 

</telerik:RadPanelBar>

 

 

 

 

 

</telerik:RadAjaxPanel>

 

 

 

 

 

<br />

 

 

 

 

 

<div id="saveButton">

 

 

 

 

 

<asp:Button ID="SaveButton" OnClick="SaveButton_Click" Height="20px" Font-Size="10px" runat="server" Text="Save"

 

 

 

 

 

Visible="true" />

 

 

 

 

 

</div>

 

 

 

 

 

</telerik:RadPageView>

 

0
Veselin Vasilev
Telerik team
answered on 16 Dec 2009, 12:42 PM
Hi mathieu cupryk,

Please find attached a sample project based on your code. It works as expected on my side.

Kind regards,
Veselin Vasilev
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Tags
PanelBar
Asked by
Moon
Top achievements
Rank 2
Answers by
Paul
Telerik team
Moon
Top achievements
Rank 2
mathieu cupryk
Top achievements
Rank 1
Veselin Vasilev
Telerik team
Share this question
or