/// <summary> /// Gets or sets the value for the attribute specified /// </summary> /// <param name="attribute">Attribute to get or set value</param> /// <returns>Value of attribute if available, else null</returns> public string this[string attribute] { get { if (attribute.Equals("class", StringComparison.OrdinalIgnoreCase)) { return(string.Join(" ", CSSClasses)); } return(Component.Attributes.ContainsKey(attribute) ? Component.Attributes[attribute] : string.Empty); } set { if (attribute.Equals("class", StringComparison.OrdinalIgnoreCase)) { CSSClasses.Clear(); CSSClasses.Add(value); } else { Component.Attributes[attribute] = value; } } }
private void BuildMenu1(OleDbDataReader oReader) { /*** main menu - records with ParentId = 0 ***/ EasyMenu mainEM = null; /*** ***/ /*** list with child menus ***/ Hashtable childMenus = null; while (oReader.Read()) { int parentId = oReader.GetInt32(1); if (parentId == 0) { if (mainEM == null) { mainEM = new EasyMenu(); mainEM.ID = "mainEM"; mainEM.StyleFolder = "styles/horizontal1"; mainEM.Width = "400"; mainEM.ShowEvent = MenuShowEvent.Always; mainEM.Position = MenuPosition.Horizontal; // css classes names for the menu and the item container mainEM.CSSMenu = "ParentMenu"; mainEM.CSSMenuItemContainer = "ParentItemContainer"; // css classes names for MenuItems CSSClasses MenuItemCssClasses = mainEM.CSSClassesCollection[mainEM.CSSClassesCollection.Add(new CSSClasses(typeof(OboutInc.EasyMenu_Pro.MenuItem)))]; MenuItemCssClasses.ComponentSubMenuCellOver = "ParentItemSubMenuCellOver"; MenuItemCssClasses.ComponentContentCell = "ParentItemContentCell"; MenuItemCssClasses.Component = "ParentItem"; MenuItemCssClasses.ComponentSubMenuCell = "ParentItemSubMenuCell"; MenuItemCssClasses.ComponentIconCellOver = "ParentItemIconCellOver"; MenuItemCssClasses.ComponentIconCell = "ParentItemIconCell"; MenuItemCssClasses.ComponentOver = "ParentItemOver"; MenuItemCssClasses.ComponentContentCellOver = "ParentItemContentCellOver"; // add the classes names to the collection mainEM.CSSClassesCollection.Add(MenuItemCssClasses); // css classes names for MenuSeparators CSSClasses MenuSeparatorCssClasses = mainEM.CSSClassesCollection[mainEM.CSSClassesCollection.Add(new CSSClasses(typeof(MenuSeparator)))]; MenuSeparatorCssClasses.ComponentSubMenuCellOver = "ParentSeparatorSubMenuCellOver"; MenuSeparatorCssClasses.ComponentContentCell = "ParentSeparatorContentCell"; MenuSeparatorCssClasses.Component = "ParentSeparator"; MenuSeparatorCssClasses.ComponentSubMenuCell = "ParentSeparatorSubMenuCell"; MenuSeparatorCssClasses.ComponentIconCellOver = "ParentSeparatorIconCellOver"; MenuSeparatorCssClasses.ComponentIconCell = "ParentSeparatorIconCell"; MenuSeparatorCssClasses.ComponentOver = "ParentSeparatorOver"; MenuSeparatorCssClasses.ComponentContentCellOver = "ParentSeparatorContentCellOver"; // add the classes names to the collection mainEM.CSSClassesCollection.Add(MenuSeparatorCssClasses); } mainEM.AddItem(new OboutInc.EasyMenu_Pro.MenuItem("item_" + oReader.GetInt32(0).ToString(), oReader.GetString(2), "", "", "", "")); placeHolder1.Controls.Add(mainEM); } else { if (childMenus == null) { childMenus = new Hashtable(); } /* first time the menu is ceated */ if (!childMenus.ContainsKey(parentId)) { EasyMenu childEM = new EasyMenu(); childEM.ID = "childEM_" + parentId; childEM.StyleFolder = "styles/horizontal1"; childEM.ShowEvent = MenuShowEvent.MouseOver; childEM.AttachTo = "item_" + parentId; childEM.Width = "150"; int menuLevel = oReader.GetInt32(3); if (menuLevel == 1) { childEM.Align = MenuAlign.Under; } else { childEM.Align = MenuAlign.Left; } childEM.AddItem(new OboutInc.EasyMenu_Pro.MenuItem("item_" + oReader.GetInt32(0).ToString(), oReader.GetString(2), "", "", "", "")); childMenus.Add(parentId, childEM); placeHolder1.Controls.Add(childEM); } /* items are added to the already created menu */ else { EasyMenu childEM = (EasyMenu)childMenus[parentId]; childEM.AddItem(new OboutInc.EasyMenu_Pro.MenuItem("item_" + oReader.GetInt32(0).ToString(), oReader.GetString(2), "", "", "", "")); } } } }
private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { // set the style for this menu mainEM.StyleFolder = "styles/horizontal1"; mainEM.Width = "330"; // show event is always so the menu is always visible // this menu doesn't require any AttachTo or Align properties set mainEM.ShowEvent = MenuShowEvent.Always; // display the menu horizontally mainEM.Position = MenuPosition.Horizontal; // the parent menu looks different so we need to set different // CSS classes names for its items and the menu itself // css classes names for the menu and the item container mainEM.CSSMenu = "ParentMenu"; mainEM.CSSMenuItemContainer = "ParentItemContainer"; // css classes names for MenuItems CSSClasses MenuItemCssClasses = mainEM.CSSClassesCollection[mainEM.CSSClassesCollection.Add(new CSSClasses(typeof(MenuItem)))]; MenuItemCssClasses.ComponentSubMenuCellOver = "ParentItemSubMenuCellOver"; MenuItemCssClasses.ComponentContentCell = "ParentItemContentCell"; MenuItemCssClasses.Component = "ParentItem"; MenuItemCssClasses.ComponentSubMenuCell = "ParentItemSubMenuCell"; MenuItemCssClasses.ComponentIconCellOver = "ParentItemIconCellOver"; MenuItemCssClasses.ComponentIconCell = "ParentItemIconCell"; MenuItemCssClasses.ComponentOver = "ParentItemOver"; MenuItemCssClasses.ComponentContentCellOver = "ParentItemContentCellOver"; // add the classes names to the collection mainEM.CSSClassesCollection.Add(MenuItemCssClasses); // css classes names for MenuSeparators CSSClasses MenuSeparatorCssClasses = mainEM.CSSClassesCollection[mainEM.CSSClassesCollection.Add(new CSSClasses(typeof(MenuSeparator)))]; MenuSeparatorCssClasses.ComponentSubMenuCellOver = "ParentSeparatorSubMenuCellOver"; MenuSeparatorCssClasses.ComponentContentCell = "ParentSeparatorContentCell"; MenuSeparatorCssClasses.Component = "ParentSeparator"; MenuSeparatorCssClasses.ComponentSubMenuCell = "ParentSeparatorSubMenuCell"; MenuSeparatorCssClasses.ComponentIconCellOver = "ParentSeparatorIconCellOver"; MenuSeparatorCssClasses.ComponentIconCell = "ParentSeparatorIconCell"; MenuSeparatorCssClasses.ComponentOver = "ParentSeparatorOver"; MenuSeparatorCssClasses.ComponentContentCellOver = "ParentSeparatorContentCellOver"; // add the classes names to the collection mainEM.CSSClassesCollection.Add(MenuSeparatorCssClasses); // add the items for the menu mainEM.AddItem(new MenuItem("item1", "Item 1", "", "", "", "")); mainEM.AddItem(new MenuItem("item2", "Item 2", "", "", "", "")); mainEM.AddItem(new MenuItem("item3", "Item 3", "", "", "", "")); mainEM.AddItem(new MenuItem("item4", "Item 4", "", "", "", "")); mainEM.AddItem(new MenuItem("item5", "Item 5", "", "", "", "")); // this will attach to the first item of the parent menu (id=item1) em_1.AttachTo = "item1"; em_1.StyleFolder = "styles/horizontal1"; em_1.Width = "140"; // it will show on mouse over em_1.ShowEvent = MenuShowEvent.MouseOver; // and will align under the item to which it is attached em_1.Align = MenuAlign.Under; // here are this menu's items em_1.AddItem(new MenuItem("menuItem1", "SubItem 1", "", "", "", "alert('Item 1 - SubItem 1')")); em_1.AddItem(new MenuItem("menuItem2", "SubItem 2", "", "", "", "alert('Item 1 - SubItem 2')")); em_1.AddItem(new MenuItem("menuItem3", "SubItem 3", "", "", "", "alert('Item 1 - SubItem 3')")); em_1.AddItem(new MenuItem("menuItem4", "SubItem 4", "", "", "", "alert('Item 1 - SubItem 4')")); em_1.AddItem(new MenuItem("menuItem5", "SubItem 5", "", "", "", "alert('Item 1 - SubItem 5')")); em_2.AttachTo = "item2"; em_2.StyleFolder = "styles/horizontal1"; em_2.Width = "140"; em_2.ShowEvent = MenuShowEvent.MouseOver; em_2.Align = MenuAlign.Under; em_2.AddItem(new MenuItem("menuItem6", "SubItem 1", "", "", "", "alert('Item 2 - SubItem 1')")); em_2.AddItem(new MenuItem("menuItem7", "SubItem 2", "", "", "", "alert('Item 2 - SubItem 2')")); em_2.AddItem(new MenuItem("menuItem8", "SubItem 3", "", "", "", "alert('Item 2 - SubItem 3')")); em_4.AttachTo = "item4"; em_4.StyleFolder = "styles/horizontal1"; em_4.Width = "140"; em_4.ShowEvent = MenuShowEvent.MouseOver; em_4.Align = MenuAlign.Under; em_4.AddItem(new MenuItem("menuItem9", "SubItem 1", "", "", "", "alert('Item 4 - SubItem 1')")); em_4.AddItem(new MenuItem("menuItem10", "SubItem 2", "", "", "", "alert('Item 4 - SubItem 2')")); em_5.AttachTo = "item5"; em_5.StyleFolder = "styles/horizontal1"; em_5.Width = "140"; em_5.ShowEvent = MenuShowEvent.MouseOver; em_5.Align = MenuAlign.Under; em_5.AddItem(new MenuItem("menuItem11", "SubItem 1", "", "", "", "alert('Item 5 - SubItem 1')")); em_5.AddItem(new MenuItem("menuItem12", "SubItem 2", "", "", "", "alert('Item 5 - SubItem 2')")); em_5.AddItem(new MenuItem("menuItem13", "SubItem 3", "", "", "", "alert('Item 5 - SubItem 3')")); em_5.AddItem(new MenuItem("menuItem14", "SubItem 4", "", "", "", "alert('Item 5 - SubItem 4')")); em_5.AddItem(new MenuItem("menuItem15", "SubItem 5", "", "", "", "alert('Item 5 - SubItem 5')")); em_6.AttachTo = "menuItem3"; em_6.StyleFolder = "styles/horizontal1"; em_6.Width = "140"; em_6.ShowEvent = MenuShowEvent.MouseOver; em_6.Align = MenuAlign.Right; em_6.OffsetVertical = 0; em_6.OffsetHorizontal = -4; em_6.AddItem(new MenuItem("menuItem31", "SubItem 1", "", "", "", "alert('Item 1 - SubItem 3 - SubItem 1')")); em_6.AddItem(new MenuItem("menuItem32", "SubItem 2", "", "", "", "alert('Item 1 - SubItem 3 - SubItem 2')")); em_6.AddItem(new MenuItem("menuItem33", "SubItem 3", "", "", "", "alert('Item 1 - SubItem 3 - SubItem 3')")); } }
void bindprofmenu() { try { SqlConnection Cn = new SqlConnection(constsql1); SQL = "SELECT PROFILEMENUITEMS.MENUID, MENUS.ATTACHTO, PROFILEMENUITEMS.ITEMTYPE, PROFILEMENUITEMS.IDS, MENUS.STYLE, MENUS.ID, PROFILEMENUITEMS.HTML, PROFILEMENUITEMS.ICON,PROFILEMENUITEMS.URL, PROFILEMENUITEMS.URLTARGET, PROFILEMENUITEMS.ONCLIENTCLICK FROM PROFILEMENUITEMS INNER JOIN MENUS ON PROFILEMENUITEMS.MENUID = MENUS.ID ORDER BY ID, ATTACHTO, ORDERS"; SqlCommand Com = new SqlCommand(SQL, Cn); Cn.Open(); oReader = Com.ExecuteReader(); string lastMenuId = ""; EasyMenu oem = null; while (oReader.Read()) { if (oReader.GetString(oReader.GetOrdinal("menuID")) != lastMenuId) { oem = new EasyMenu(); oem.ID = oReader.GetString(oReader.GetOrdinal("menuid")); oem.Position = MenuPosition.Horizontal; oem.Width = "60"; oem.UseIcons = true; oem.Align = OboutInc.EasyMenu_Pro.MenuAlign.Under; oem.IconsFolder = "Icons"; oem.CSSMenu = "ParentMenu"; oem.CSSMenuItemContainer = "ParentItemContainer"; CSSClasses MenuItemCssClasses = oem.CSSClassesCollection[oem.CSSClassesCollection.Add(new CSSClasses(typeof(OboutInc.EasyMenu_Pro.MenuItem)))]; MenuItemCssClasses.ComponentSubMenuCellOver = "ParentItemSubMenuCellOver"; MenuItemCssClasses.ComponentContentCell = "ParentItemContentCell"; MenuItemCssClasses.Component = "ParentItem"; MenuItemCssClasses.ComponentSubMenuCell = "ParentItemSubMenuCell"; MenuItemCssClasses.ComponentIconCellOver = "ParentItemIconCellOver"; MenuItemCssClasses.ComponentIconCell = "ParentItemIconCell"; MenuItemCssClasses.ComponentOver = "ParentItemOver"; MenuItemCssClasses.ComponentContentCellOver = "ParentItemContentCellOver"; oem.CSSClassesCollection.Add(MenuItemCssClasses); CSSClasses MenuSeparatorCssClasses = oem.CSSClassesCollection[oem.CSSClassesCollection.Add(new CSSClasses(typeof(MenuSeparator)))]; MenuSeparatorCssClasses.ComponentSubMenuCellOver = "ParentSeparatorSubMenuCellOver"; MenuSeparatorCssClasses.ComponentContentCell = "ParentSeparatorContentCell"; MenuSeparatorCssClasses.Component = "ParentSeparator"; MenuSeparatorCssClasses.ComponentSubMenuCell = "ParentSeparatorSubMenuCell"; MenuSeparatorCssClasses.ComponentIconCellOver = "ParentSeparatorIconCellOver"; MenuSeparatorCssClasses.ComponentIconCell = "ParentSeparatorIconCell"; MenuSeparatorCssClasses.ComponentOver = "ParentSeparatorOver"; MenuSeparatorCssClasses.ComponentContentCellOver = "ParentSeparatorContentCellOver"; oem.CSSClassesCollection.Add(MenuSeparatorCssClasses); oem.StyleFolder = oReader.GetString(oReader.GetOrdinal("style")); if (!oReader.IsDBNull(oReader.GetOrdinal("attachto"))) { oem.AttachTo = oReader.GetString(oReader.GetOrdinal("attachto")); oem.ShowEvent = MenuShowEvent.MouseOver; oem.Align = MenuAlign.Under; oem.UseIcons = true; oem.IconsFolder = "Icons"; placeHolder1.Controls.Add(oem); } else { oem.UseIcons = true; oem.IconsFolder = "Icons"; oem.ShowEvent = MenuShowEvent.Always; oem.Align = MenuAlign.Under; placeHolder1.Controls.Add(oem); } } if (oReader.GetString(oReader.GetOrdinal("ITEMTYPE")) == "S") { oem.AddSeparator(oReader.GetString(oReader.GetOrdinal("b.ID")), oReader.IsDBNull(oReader.GetOrdinal("HTML")) ? "" : oReader.GetString(oReader.GetOrdinal("HTML"))); } else if (oReader.GetString(oReader.GetOrdinal("ITEMTYPE")) == "I") { oem.AddMenuItem(oReader.GetString(oReader.GetOrdinal("IDS")), oReader.IsDBNull(oReader.GetOrdinal("HTML")) ? "" : oReader.GetString(oReader.GetOrdinal("HTML")), oReader.IsDBNull(oReader.GetOrdinal("ICON")) ? "" : oReader.GetString(oReader.GetOrdinal("ICON")), oReader.IsDBNull(oReader.GetOrdinal("URL")) ? "" : oReader.GetString(oReader.GetOrdinal("URL")), oReader.IsDBNull(oReader.GetOrdinal("URLTARGET")) ? "" : oReader.GetString(oReader.GetOrdinal("URLTARGET")), oReader.IsDBNull(oReader.GetOrdinal("ONCLIENTCLICK")) ? "" : oReader.GetString(oReader.GetOrdinal("ONCLIENTCLICK"))); } lastMenuId = oReader.GetString(oReader.GetOrdinal("menuID")); } oReader.Close(); Cn.Close(); } catch (Exception ex) { Utility.insertError(ex.Message); Response.Write("<script>top.location='logout.aspx'</script>"); } }
private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { // EasymenuMain1 EasymenuMain1.StyleFolder = "styles/style1_multiple_menus"; EasymenuMain1.Width = "330"; EasymenuMain1.ShowEvent = MenuShowEvent.Always; EasymenuMain1.Position = MenuPosition.Horizontal; EasymenuMain1.AddItem(new MenuItem("item11", "Item 1", "", "", "", "")); EasymenuMain1.AddItem(new MenuItem("item12", "Item 2", "", "", "", "")); EasymenuMain1.AddItem(new MenuItem("item13", "Item 3", "", "", "", "")); EasymenuMain1.AddItem(new MenuItem("item14", "Item 4", "", "", "", "")); // EasymenuMain2 EasymenuMain2.StyleFolder = "styles/style2_multiple_menus"; EasymenuMain2.Width = "330"; EasymenuMain2.ShowEvent = MenuShowEvent.Always; EasymenuMain2.Position = MenuPosition.Horizontal; EasymenuMain2.CSSMenu = "easyMenu2"; EasymenuMain2.CSSMenuItemContainer = "easyMenuItemContainer2"; CSSClasses MenuItemCssClasses = EasymenuMain2.CSSClassesCollection[EasymenuMain2.CSSClassesCollection.Add(new CSSClasses(typeof(MenuItem)))]; MenuItemCssClasses.ComponentSubMenuCellOver = "easyMenuItemSubMenuCellOver2"; MenuItemCssClasses.ComponentContentCell = "easyMenuItemContentCell2"; MenuItemCssClasses.Component = "easyMenuItem2"; MenuItemCssClasses.ComponentSubMenuCell = "easyMenuItemSubMenuCell2"; MenuItemCssClasses.ComponentIconCellOver = "easyMenuItemIconCellOver2"; MenuItemCssClasses.ComponentIconCell = "easyMenuItemIconCell2"; MenuItemCssClasses.ComponentOver = "easyMenuItemOver2"; MenuItemCssClasses.ComponentContentCellOver = "easyMenuItemContentCellOver2"; EasymenuMain2.CSSClassesCollection.Add(MenuItemCssClasses); CSSClasses MenuSeparatorCssClasses = EasymenuMain2.CSSClassesCollection[EasymenuMain2.CSSClassesCollection.Add(new CSSClasses(typeof(MenuSeparator)))]; MenuSeparatorCssClasses.ComponentSubMenuCellOver = "easyMenuSeparatorSubMenuCellOver2"; MenuSeparatorCssClasses.ComponentContentCell = "easyMenuSeparatorContentCell2"; MenuSeparatorCssClasses.Component = "easyMenuSeparator2"; MenuSeparatorCssClasses.ComponentSubMenuCell = "easyMenuSeparatorSubMenuCell2"; MenuSeparatorCssClasses.ComponentIconCellOver = "easyMenuSeparatorIconCellOver2"; MenuSeparatorCssClasses.ComponentIconCell = "easyMenuSeparatorIconCell2"; MenuSeparatorCssClasses.ComponentOver = "easyMenuSeparatorOver2"; MenuSeparatorCssClasses.ComponentContentCellOver = "easyMenuSeparatorContentCellOver2"; EasymenuMain2.CSSClassesCollection.Add(MenuSeparatorCssClasses); EasymenuMain2.AddItem(new MenuItem("item21", "Item 1", "", "", "", "")); EasymenuMain2.AddItem(new MenuItem("item22", "Item 2", "", "", "", "")); EasymenuMain2.AddItem(new MenuItem("item23", "Item 3", "", "", "", "")); EasymenuMain2.AddItem(new MenuItem("item24", "Item 4", "", "", "", "")); // Easymenu11 Easymenu11.AttachTo = "item11"; Easymenu11.StyleFolder = "styles/style1_multiple_menus"; Easymenu11.Width = "140"; Easymenu11.ShowEvent = MenuShowEvent.MouseOver; Easymenu11.Align = MenuAlign.Under; Easymenu11.AddItem(new MenuItem("menuItem111", "Item11", "", "", "", "")); Easymenu11.AddItem(new MenuItem("menuItem112", "Item12", "", "", "", "")); Easymenu11.AddItem(new MenuItem("menuItem113", "Item13", "", "", "", "")); // Easymenu12 Easymenu12.AttachTo = "item12"; Easymenu12.StyleFolder = "styles/style1_multiple_menus"; Easymenu12.Width = "140"; Easymenu12.ShowEvent = MenuShowEvent.MouseOver; Easymenu12.Align = MenuAlign.Under; Easymenu12.AddItem(new MenuItem("menuItem121", "Item21", "", "", "", "")); Easymenu12.AddItem(new MenuItem("menuItem122", "Item22", "", "", "", "")); // Easymenu13 Easymenu13.AttachTo = "item13"; Easymenu13.StyleFolder = "styles/style1_multiple_menus"; Easymenu13.Width = "140"; Easymenu13.ShowEvent = MenuShowEvent.MouseOver; Easymenu13.Align = MenuAlign.Under; Easymenu13.AddItem(new MenuItem("menuItem131", "Item31", "", "", "", "")); Easymenu13.AddItem(new MenuItem("menuItem132", "Item32", "", "", "", "")); Easymenu13.AddItem(new MenuItem("menuItem133", "Item33", "", "", "", "")); Easymenu13.AddItem(new MenuItem("menuItem134", "Item34", "", "", "", "")); Easymenu13.AddItem(new MenuItem("menuItem135", "Item35", "", "", "", "")); Easymenu13.AddItem(new MenuItem("menuItem136", "Item36", "", "", "", "")); // Easymenu14 Easymenu14.AttachTo = "item14"; Easymenu14.StyleFolder = "styles/style1_multiple_menus"; Easymenu14.Width = "140"; Easymenu14.ShowEvent = MenuShowEvent.MouseOver; Easymenu14.Align = MenuAlign.Under; Easymenu14.AddItem(new MenuItem("menuItem141", "Item41", "", "", "", "")); Easymenu14.AddItem(new MenuItem("menuItem142", "Item42", "", "", "", "")); Easymenu14.AddItem(new MenuItem("menuItem143", "Item43", "", "", "", "")); // Easymenu21 Easymenu21.AttachTo = "item21"; Easymenu21.StyleFolder = "styles/style1_multiple_menus"; Easymenu21.Width = "140"; Easymenu21.ShowEvent = MenuShowEvent.MouseOver; Easymenu21.Align = MenuAlign.Under; Easymenu21.AddItem(new MenuItem("menuItem211", "Item11", "", "", "", "")); Easymenu21.AddItem(new MenuItem("menuItem212", "Item12", "", "", "", "")); Easymenu21.AddItem(new MenuItem("menuItem213", "Item13", "", "", "", "")); // Easymenu22 Easymenu22.AttachTo = "item22"; Easymenu22.StyleFolder = "styles/style1_multiple_menus"; Easymenu22.Width = "140"; Easymenu22.ShowEvent = MenuShowEvent.MouseOver; Easymenu22.Align = MenuAlign.Under; Easymenu22.AddItem(new MenuItem("menuItem221", "Item21", "", "", "", "")); // Easymenu23 Easymenu23.AttachTo = "item23"; Easymenu23.StyleFolder = "styles/style1_multiple_menus"; Easymenu23.Width = "140"; Easymenu23.ShowEvent = MenuShowEvent.MouseOver; Easymenu23.Align = MenuAlign.Under; Easymenu23.AddItem(new MenuItem("menuItem231", "Item31", "", "", "", "")); Easymenu23.AddItem(new MenuItem("menuItem232", "Item32", "", "", "", "")); Easymenu23.AddItem(new MenuItem("menuItem233", "Item33", "", "", "", "")); Easymenu23.AddItem(new MenuItem("menuItem234", "Item34", "", "", "", "")); // Easymenu24 Easymenu24.AttachTo = "item24"; Easymenu24.StyleFolder = "styles/style1_multiple_menus"; Easymenu24.Width = "140"; Easymenu24.ShowEvent = MenuShowEvent.MouseOver; Easymenu24.Align = MenuAlign.Under; Easymenu24.AddItem(new MenuItem("menuItem241", "Item41", "", "", "", "")); Easymenu24.AddItem(new MenuItem("menuItem242", "Item42", "", "", "", "")); Easymenu24.AddItem(new MenuItem("menuItem243", "Item43", "", "", "", "")); } }
private void Page_Load(object sender, System.EventArgs e) { if (!IsPostBack) { string sConnectionString; OleDbDataReader oReader; // The database has 2 tables, Menus for the principal menus and MenuItems for the items // Each Menu has an ID, and each item of that menu must have the same MENUID so they can be related // The Menu that has no ATTACHTO property set in the database is the main menu (parent) // and is the one that has ShowEvent set to Always. This has to be the first menu to add on the page // hence we order by ATTACHTO field first. sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("../App_Data/DBDEMO_horizontal.mdb"); OleDbConnection Cn = new OleDbConnection(sConnectionString); string SQL = "SELECT * FROM Menus a Inner Join MenuItems b ON (a.ID = b.MENUID) ORDER BY a.ATTACHTO, a.ID, b.ORDER"; OleDbCommand Com = new OleDbCommand(SQL, Cn); Cn.Open(); oReader = Com.ExecuteReader(); string lastMenuId = ""; EasyMenu oem = null; // Populate EM in one loop. while (oReader.Read()) { // Initialising a new EM if (oReader.GetString(oReader.GetOrdinal("menuID")) != lastMenuId) { oem = (EasyMenu)Session["EasyMenu_" + oReader.GetString(oReader.GetOrdinal("menuid"))]; oem.Position = MenuPosition.Horizontal; oem.Width = "140"; oem.IconsFolder = "Icons"; oem.StyleFolder = oReader.GetString(oReader.GetOrdinal("style")); // if an attachto property is set, this is not the main menu if (!oReader.IsDBNull(oReader.GetOrdinal("attachto"))) { oem.ShowEvent = MenuShowEvent.MouseOver; if (oem.AttachTo != "item1" && oem.AttachTo != "item2" && oem.AttachTo != "item3") { oem.Align = MenuAlign.Right; } else { oem.Align = MenuAlign.Under; } oem.Position = MenuPosition.Vertical; } // otherwise this is the main menu else { oem.ShowEvent = MenuShowEvent.Always; oem.Width = "400px"; // css classes names for MenuItems CSSClasses MenuItemCssClasses = oem.CSSClassesCollection[oem.CSSClassesCollection.Add(new CSSClasses(typeof(OboutInc.EasyMenu_Pro.MenuItem)))]; MenuItemCssClasses.ComponentSubMenuCellOver = "ParentItemSubMenuCellOver"; MenuItemCssClasses.ComponentContentCell = "ParentItemContentCell"; MenuItemCssClasses.Component = "ParentItem"; MenuItemCssClasses.ComponentSubMenuCell = "ParentItemSubMenuCell"; MenuItemCssClasses.ComponentIconCellOver = "ParentItemIconCellOver"; MenuItemCssClasses.ComponentIconCell = "ParentItemIconCell"; MenuItemCssClasses.ComponentOver = "ParentItemOver"; MenuItemCssClasses.ComponentContentCellOver = "ParentItemContentCellOver"; // add the classes names to the collection oem.CSSClassesCollection.Add(MenuItemCssClasses); // css classes names for MenuSeparators CSSClasses MenuSeparatorCssClasses = oem.CSSClassesCollection[oem.CSSClassesCollection.Add(new CSSClasses(typeof(MenuSeparator)))]; MenuSeparatorCssClasses.ComponentSubMenuCellOver = "ParentSeparatorSubMenuCellOver"; MenuSeparatorCssClasses.ComponentContentCell = "ParentSeparatorContentCell"; MenuSeparatorCssClasses.Component = "ParentSeparator"; MenuSeparatorCssClasses.ComponentSubMenuCell = "ParentSeparatorSubMenuCell"; MenuSeparatorCssClasses.ComponentIconCellOver = "ParentSeparatorIconCellOver"; MenuSeparatorCssClasses.ComponentIconCell = "ParentSeparatorIconCell"; MenuSeparatorCssClasses.ComponentOver = "ParentSeparatorOver"; MenuSeparatorCssClasses.ComponentContentCellOver = "ParentSeparatorContentCellOver"; // add the classes names to the collection oem.CSSClassesCollection.Add(MenuSeparatorCssClasses); } } // Adding either a Separator or an Item if (oReader.GetString(oReader.GetOrdinal("ITEMTYPE")) == "S") { oem.AddSeparator(oReader.GetString(oReader.GetOrdinal("b.ID")), oReader.IsDBNull(oReader.GetOrdinal("HTML")) ? "" : oReader.GetString(oReader.GetOrdinal("HTML"))); } else if (oReader.GetString(oReader.GetOrdinal("ITEMTYPE")) == "I") { oem.AddMenuItem(oReader.GetString(oReader.GetOrdinal("b.ID")), oReader.IsDBNull(oReader.GetOrdinal("HTML")) ? "" : oReader.GetString(oReader.GetOrdinal("HTML")), oReader.IsDBNull(oReader.GetOrdinal("ICON")) ? "" : oReader.GetString(oReader.GetOrdinal("ICON")), oReader.IsDBNull(oReader.GetOrdinal("URL")) ? "" : oReader.GetString(oReader.GetOrdinal("URL")), oReader.IsDBNull(oReader.GetOrdinal("URLTARGET")) ? "" : oReader.GetString(oReader.GetOrdinal("URLTARGET")), oReader.IsDBNull(oReader.GetOrdinal("ONCLIENTCLICK")) ? "" : oReader.GetString(oReader.GetOrdinal("ONCLIENTCLICK"))); } lastMenuId = oReader.GetString(oReader.GetOrdinal("menuID")); } oReader.Close(); Cn.Close(); } }