Telerik
Skip Navigation LinksHome / Community / Forums / ASP.NET > Panelbar > How to dynamically embed a dynamic menu in a panelbar?

Answered How to dynamically embed a dynamic menu in a panelbar?

Feed from this thread
  • Vikas avatar

    Posted on Jun 5, 2008 (permalink)

    Hi
    I am evaluating some of the Telerik controls. We are facing some problems in the panelbar and menu. What we want is a dynamically generated menu. The same has to be nested within a panel bar.

    1) I picked up a sample /live%20demos/Menu/Examples/Programming/DynamicCreation/DefaultCS.aspx

    It has a horizontal menu. What we want is a behaviour like http://localhost:35160/live%20demos/Panelbar/Examples/ApplicationScenarios/PanelbarAndMenu/DefaultCS.aspx

    2) The aspx has 

    <telerik:RadPanelBar ID="RadPanelBar1" runat="server" Skin="Outlook" Width="190px" Flow="Vertical">

    <Items>

    <telerik:RadPanelItem>

    <ItemTemplate>

    <telerik:RadMenu ID="RadMenu1" runat="server" Skin="Outlook">

    </telerik:RadMenu>

    </ItemTemplate>

    </telerik:RadPanelItem>

    </Items>

    </telerik:RadPanelBar>
    3. The Cs file has 

    protected void Page_Load(object sender, EventArgs e)

    {

    if (!Page.IsPostBack)

    {

    SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM ProductCategories",

    ConfigurationManager.ConnectionStrings["TelerikConnectionString"].ConnectionString);

    DataSet links = new DataSet();

    adapter.Fill(links);

    RadPanelItem panelItem = RadPanelBar1.FindItemByText("RadMenu1");

    //RadMenu1.DataTextField = "Title";

    //RadMenu1.DataFieldID = "CategoryId";

    //RadMenu1.DataFieldParentID = "ParentId";

    //RadMenu1.DataSource = links;

    //RadMenu1.DataBind();

    }
    4. I am unable to get RadMenu1 programitally if I embed it with panelbar.

    Also please guide if my approach is right. What I exactly need is a outlook style dynamically menu. I require panelbar as it has to be a collapsible menu.

    Regards
    Vikas

    Reply

  • Answer Telerik Admin admin's avatar

    Posted on Jun 5, 2008 (permalink)

    Hello Vikas,

    Please find below a modified code snippet that shows the needed approach.

    ASPX:
    <form id="form1" runat="server">  
        <asp:ScriptManager ID="ScriptManager1" runat="server">  
        </asp:ScriptManager> 
        <telerik:RadPanelBar ID="RadPanelBar1" runat="server" Skin="Outlook" Width="190px">  
            <Items> 
                <telerik:RadPanelItem runat="server" Text="Root Panel Item" Expanded="true" Selected="true">  
                    <Items> 
                        <telerik:RadPanelItem runat="server" Value="templateHolder">  
                        </telerik:RadPanelItem> 
                    </Items> 
                </telerik:RadPanelItem> 
            </Items> 
            <CollapseAnimation Duration="100" Type="None" /> 
            <ExpandAnimation Duration="100" Type="None" /> 
        </telerik:RadPanelBar> 
    </form> 

    Code behind:
    using System;  
    using System.Data;  
    using System.Data.SqlClient;  
    using System.Configuration;  
    using System.Collections;  
    using System.Web;  
    using System.Web.Security;  
    using System.Web.UI;  
    using System.Web.UI.WebControls;  
    using System.Web.UI.WebControls.WebParts;  
    using System.Web.UI.HtmlControls;  
    using Telerik.Web.UI;  
     
    public partial class _Default : System.Web.UI.Page  
    {  
        protected void Page_Load(object sender, EventArgs e)  
        {  
            if (!IsPostBack)  
            {  
                SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM myMenuLinks", ConfigurationManager.ConnectionStrings["TestDBConnectionString"].ConnectionString);  
                DataSet links = new DataSet();  
                adapter.Fill(links);  
     
                RadPanelItem panelItem = (RadPanelItem)RadPanelBar1.FindItemByValue("templateHolder");  
     
                RadMenu myMenu = new RadMenu();  
                myMenu.Width = Unit.Percentage(100);  
                myMenu.Skin = "Outlook";  
                myMenu.Flow = ItemFlow.Vertical;  
                myMenu.DataTextField = "Title";  
                myMenu.DataFieldID = "CategoryId";  
                myMenu.DataFieldParentID = "ParentId";  
                myMenu.DataSource = links;  
                myMenu.DataBind();  
     
                panelItem.Controls.Add(myMenu);  
     
                foreach (RadMenuItem myItems in myMenu.GetAllItems())  
                {  
                    myItems.Width = Unit.Percentage(100);  
                }  
            }  
        }  
    }  
     

    SQL Table:



    Paul
    the Telerik team

    Instantly find answers to your questions at the new Telerik Support Center

    Reply

  • andreas avatar

    Posted on Jun 17, 2009 (permalink)

    Hallo!

    And how looks the same with a SiteMapDataSouce insted SQL and a diffrent StaringNodeUrl? 

    Reply

Back to Top

Skip Navigation LinksHome / Community / Forums / ASP.NET > Panelbar > How to dynamically embed a dynamic menu in a panelbar?

Powered by Sitefinity ASP.NET CMS

Contact Us | Site Feedback | Terms of Use | Privacy Policy
Copyright © 2002-2010 Telerik. All rights reserved.