コード例 #1
0
        protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            CMS.Menu dv = (CMS.Menu)e.Item.DataItem;
            if (dv.Childs.Count != 0)
            {
                Repeater       repeater2     = (Repeater)e.Item.FindControl("Repeater2");
                MenuCollection listMenuChild = MenuCollection.GetMenuChildCollection(dv.Id);

                repeater2.DataSource = listMenuChild.GetBindingSource();
                repeater2.DataBind();
            }
        }
コード例 #2
0
        private void LoadTabControl()
        {
            Guid menuParent;

            using (var con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["PSCPortalConnectionString"].ConnectionString))
            {
                var com = new SqlCommand {
                    Connection = con
                };
                con.Open();
                com.CommandType = CommandType.Text;
                com.Parameters.AddWithValue("@dataId", Portlet.PortletInstance.Id);
                com.CommandText = "Select MenuId from PortletMenu p INNER JOIN MenuMaster m ON p.MenuMasterId =  m.MenuMasterId Where DataId = @dataId";
                menuParent      = com.ExecuteScalar() != null ? new Guid(com.ExecuteScalar().ToString()) : Guid.Empty;
            }
            if (menuParent == Guid.Empty)
            {
                return;
            }
            MenuCollection listMenu = MenuCollection.GetMenuChildCollection(menuParent);

            radTabMenu.Tabs.Clear();
            radMultiPageMenu.PageViews.Clear();
            BusinessObjectHierarchicalCollection childs = listMenu.Search(o => ((Menu)o).Id == menuParent).Childs;

            if (childs.Count > 0)
            {
                for (int i = 0; i < childs.Count; i++)
                {
                    var tab = new RadTab();
                    var sub = (Menu)childs[i];
                    if (sub == null)
                    {
                        return;
                    }
                    tab.Text = sub.Name;
                    radTabMenu.Tabs.Add(tab);
                    var pvTopic = new RadPageView {
                        ID = "pvSub" + i
                    };
                    radMultiPageMenu.PageViews.Add(pvTopic);
                    const string userControlName = "Portlets/TabMenu/SubPanelBar.ascx";
                    var          userControl     = (SubPanelBar)Page.LoadControl(userControlName);
                    pvTopic.Controls.Add(userControl);
                    userControl.Menu = sub;
                    userControl.LoadData();
                }
            }
        }