private void createSubMenu(MenuCollection menuCollection, DataTable dt, string p) { DataRow[] rows = dt.Select("parentid='" + p + "'"); if (rows == null || rows.Length == 0) { return; } Ext.Net.Menu menu = new Ext.Net.Menu(); foreach (DataRow row in rows) { sysprog prog = ConvertHelper.RowToObject <sysprog>(row); Ext.Net.MenuItem item = new Ext.Net.MenuItem(prog.ProgName); if (prog.IsGroup == "1") { item.Icon = Icon.Folder; createSubMenu(item.Menu, dt, prog.id); } else { item.Icon = Icon.ApplicationForm; item.Listeners.Click.Handler = "showmodule(#{MyDesktop},'" + prog.id + "');"; } menu.Add(item); } menuCollection.Add(menu); }
protected void SetMenu(Ext.Net.Menu menu) { var MenuItem1 = new Ext.Net.MenuItem(); MenuItem1.ID = "MenuItem1"; MenuItem1.Text = "净化过程明细"; MenuItem1.Icon = Icon.Star; MenuItem1.Cls = "color_1"; MenuItem1.DirectEvents.Click.Event += new ComponentDirectEvent.DirectEventHandler(reload_menu1); var MenuItem2 = new Ext.Net.MenuItem(); MenuItem2.ID = "MenuItem2"; MenuItem2.Text = "血液净化记录"; MenuItem2.Icon = Icon.Star; MenuItem2.Cls = "color_10"; MenuItem2.DirectEvents.Click.Event += new ComponentDirectEvent.DirectEventHandler(reload_menu2); var MenuItem3 = new Ext.Net.MenuItem(); MenuItem3.ID = "MenuItem3"; MenuItem3.Text = "血液净化小结"; MenuItem3.Icon = Icon.Star; MenuItem3.Cls = "color_10"; MenuItem3.DirectEvents.Click.Event += new ComponentDirectEvent.DirectEventHandler(reload_menu3); var MenuItem4 = new Ext.Net.MenuItem(); MenuItem4.ID = "MenuItem4"; MenuItem4.Text = "血液净化记录表"; MenuItem4.Icon = Icon.Star; MenuItem4.Cls = "color_10"; MenuItem4.DirectEvents.Click.Event += new ComponentDirectEvent.DirectEventHandler(reload_menu4); //var MenuItem5 = new Ext.Net.MenuItem(); //MenuItem5.ID = "MenuItem5"; //MenuItem5.Text = "实时监控一"; //MenuItem5.Icon = Icon.Star; //MenuItem5.Cls = "color_10"; //MenuItem5.DirectEvents.Click.Event += new ComponentDirectEvent.DirectEventHandler(reload_menu5); //var MenuItem6 = new Ext.Net.MenuItem(); //MenuItem6.ID = "MenuItem6"; //MenuItem6.Text = "实时监控二"; //MenuItem6.Icon = Icon.Star; //MenuItem6.Cls = "color_10"; //MenuItem6.DirectEvents.Click.Event += new ComponentDirectEvent.DirectEventHandler(reload_menu6); menu.Items.Add(MenuItem1); menu.Items.Add(MenuItem2); menu.Items.Add(MenuItem3); menu.Items.Add(MenuItem4); //menu.Items.Add(MenuItem5); //menu.Items.Add(MenuItem6); }
/// <summary> /// Load menu con của menu ngang /// </summary> /// <param name="parentComponent"></param> /// <param name="parentMenu"></param> private void LoadSubTopMenu(Component parentComponent, MenuInfo parentMenu) { List <MenuInfo> ChildMenu; // if (CurrentUser.IsSuperUser) ChildMenu = MenuController.GetInstance().GetMenus(parentMenu.ID, false, false); //Lấy các tree nằm trong panel // else // ChildMenu = MenuController.GetInstance().GetMenus(parentMenu.ID, false, false, CurrentUser.ID); if (ChildMenu == null || ChildMenu.Count() == 0) { return; } Ext.Net.Menu menu = new Ext.Net.Menu(); if (parentComponent.InstanceOf.Contains("Button")) { Ext.Net.Button btn = parentComponent as Ext.Net.Button; btn.Menu.Add(menu); } else { Ext.Net.MenuItem menuItem = parentComponent as Ext.Net.MenuItem; menuItem.Menu.Add(menu); } foreach (MenuInfo item in ChildMenu) { Ext.Net.MenuItem mnu = new Ext.Net.MenuItem(item.MenuName); if (string.IsNullOrEmpty(item.Icon)) { mnu.Icon = Icon.BulletBlue; } else { mnu.IconCls = item.Icon; } mnu.ID = item.ID + "mnu"; if (!string.IsNullOrEmpty(item.LinkUrl)) { if (item.LinkUrl.Contains("?") == false) { item.LinkUrl += "?mId=" + item.ID; } else { item.LinkUrl += "&mId=" + item.ID; } mnu.Listeners.Click.Handler = "addTab(#{pnTabPanel},'dm_file" + item.ID + "','" + item.LinkUrl + "', '" + item.TabName + "')"; } menu.Items.Add(mnu); LoadSubTopMenu(mnu, item); } }
protected void Test() { using (BaglantiCumlesi db = new BaglantiCumlesi()) { try { #region Layer 0 List <tbl_sbt_menu> Layer0 = (from p in db.tbl_sbt_menu where p.menu_id == 0 select p).ToList <tbl_sbt_menu>(); if (Layer0.Any()) { #region Create Null Instance Ext.Net.Menu M = null; Ext.Net.ComponentMenuItem CMI = null; Ext.Net.Container C = null; Ext.Net.MenuPanel MP = null; Ext.Net.MenuItem MI = null; Ext.Net.MenuSeparator MS = null; #endregion #region Layer 0 Loop foreach (var i in Layer0) { #region Button Ext.Net.Button B = new Ext.Net.Button(); B.ID = "Button" + i.id; B.Text = i.ad; #endregion #region Layer 1 List <tbl_sbt_menu> Layer1 = (from p in db.tbl_sbt_menu where p.menu_id == i.id select p).ToList <tbl_sbt_menu>(); if (Layer1.Any()) { #region Menu M = new Ext.Net.Menu(); M.ID = "Menu" + i.id; M.ShowSeparator = false; #endregion #region Component Menu i CMI = new Ext.Net.ComponentMenuItem(); CMI.ID = "ComponentMenuItem" + i.id; CMI.Shift = false; #endregion #region Container C = new Ext.Net.Container(); C.ID = "Container" + i.id; C.AutoWidth = true; C.AutoHeight = true; C.AnchorVertical = "100%"; C.Layout = "ColumnLayout"; #endregion #region Layer 1 Loop foreach (var t in Layer1) { #region MenuPanel MP = new Ext.Net.MenuPanel(); MP.ID = "MenuPanel" + t.id; MP.Title = t.ad; MP.Margins = "10 10 10 10"; MP.Menu.ID = "Menu" + t.id; MP.Menu.ShowSeparator = false; #endregion #region Layer 2 List <tbl_sbt_menu> Layer2 = (from p in db.tbl_sbt_menu where p.menu_id == t.id select p).ToList <tbl_sbt_menu>(); if (Layer2.Any()) { int LastID = Layer2[Layer2.Count - 1].id; #region Layer 2 Loop foreach (var y in Layer2) { #region Menu i MI = new Ext.Net.MenuItem(); MI.ID = "MenuItem" + y.id; MI.Text = y.ad; #region URL Check if (!string.IsNullOrEmpty(y.url)) { MI.Icon = Ext.Net.Icon.StarGold; MI.Listeners.Click.Handler = "TabEkle(TabPanel1, '" + MI.ID + "', '" + y.url + "', '" + MP.ID + "', '" + y.ad + "')"; } else { MI.Icon = Ext.Net.Icon.StarHalfGrey; MI.Disabled = true; } #endregion #endregion if (y.id != LastID) { #region Menu Separator MS = new Ext.Net.MenuSeparator(); MS.ID = "MenuSeparator" + y.id; #endregion } #region Adding MP.Menu.Items.Add(MI); #endregion if (y.id != LastID) { #region Adding MP.Menu.Items.Add(MS); #endregion } } #endregion } #endregion #region Adding C.Items.Add(MP); #endregion } #endregion #region Adding CMI.Component.Add(C); M.Items.Add(CMI); B.Menu.Add(M); #endregion } else { B.StandOut = true; } #endregion #region Adding MenuToolbar.Items.Add(B); #endregion } #endregion } #endregion } catch { } /* * try * { * //http://www.superstarcoders.com/blogs/posts/recursive-hierarchical-joins-in-c-sharp-and-linq.aspx * * IEnumerable<DeepNodeData> nodes = elements.RecursiveJoin( * element => element.Id, * element => element.ParentId, * (FlatData element, int index, int depth, IEnumerable<DeepNodeData> children) => * { * return new DeepNodeData() * { * Text = element.Text, * Children = children, * Depth = depth * }; * }); * * foreach (var i in nodes) * { * * } * * var q = (from p in db.tbl_sbt_menu * select new * { * ParentID = p.menu_id, * child = from c in db.tbl_sbt_menu * where c.menu_id == p.id * select new * { * ChildID = c.id, * ParentID = c.menu_id * } * }); * * //var abc = q.Select(p=>p.child).fir * * } * catch * { * * } */ } }
private void CreateToolbar() { Toolbar topToolbar = new Toolbar(); Button addItemButton = new Button("Add Item") { ID = ID + "btnAdd", Icon = Icon.Add }; Menu addItemButtonMenu = new Menu(); IEnumerable<ContentType> allowedChildren = GetAllowedChildren(); foreach (ContentType definition in allowedChildren) { MenuItem menuItem = new MenuItem(definition.ContentTypeAttribute.Title) { IconUrl = definition.IconUrl }; menuItem.DirectEvents.Click.ExtraParams["Type"] = string.Format("{0},{1}", definition.ItemType.FullName, definition.ItemType.Assembly.FullName); menuItem.DirectEvents.Click.Event += OnAddItemClick; addItemButtonMenu.Items.Add(menuItem); } addItemButton.Menu.Add(addItemButtonMenu); topToolbar.Items.Add(addItemButton); _removeItemsButton = new Button("Remove Item(s)") { ID = ID + "btnRemoveItems", Icon = Icon.Delete, Disabled = true }; _removeItemsButton.DirectEvents.Click.ExtraParams.Add(new Parameter("DeletedItems", string.Format(@" (function() {{ var gridPanel = {0}; var selections = gridPanel.getSelectionModel().getSelections(); var selectedIndexes = []; for (var i = 0; i < selections.length; i++) selectedIndexes.push(gridPanel.getStore().indexOf(selections[i])); return selectedIndexes.join(','); }}).call(this)", ClientID), ParameterMode.Raw)); _removeItemsButton.DirectEvents.Click.Event += OnRemoveItemsClick; _removeItemsButton.DirectEvents.Click.Success = string.Format(@"flagRemovedItems({0});", ClientID); topToolbar.Items.Add(_removeItemsButton); TopBar.Add(topToolbar); }
private void createSubMenu(MenuCollection menuCollection, DataTable dt, string p) { DataRow[] rows = dt.Select("parentid='" + p + "'"); if (rows == null || rows.Length == 0) return; Ext.Net.Menu menu = new Ext.Net.Menu(); foreach (DataRow row in rows) { sysprog prog = ConvertHelper.RowToObject<sysprog>(row); Ext.Net.MenuItem item = new Ext.Net.MenuItem(prog.ProgName); if (prog.IsGroup == "1") { item.Icon = Icon.Folder; createSubMenu(item.Menu, dt, prog.id); } else { item.Icon = Icon.ApplicationForm; item.Listeners.Click.Handler = "showmodule(#{MyDesktop},'" + prog.id + "');"; } menu.Add(item); } menuCollection.Add(menu); }
/// <summary> /// metodo chamado para carregar os temas existentes /// </summary> private void CarregarTemas() { List<TemaVO> lstTemas = new TemaBO().Select(); btnTemas.Visible = lstTemas.Count > 0; if (lstTemas.Count > 0) { Ext.Net.Menu menu = new Ext.Net.Menu(); btnTemas.Menu.Add(menu); foreach (TemaVO t in lstTemas) { Ext.Net.MenuItem menuItem = new Ext.Net.MenuItem(t.Nome); menuItem.Listeners.Click.Handler = "Ext.net.DirectMethods.AlterarTema('" + t.Nome + "', '" + t.Id + "');"; btnTemas.Menu.Primary.Items.Add(menuItem); } } }
private void CarregarSubMenu(Ext.Net.Menu menu, IList<MenuPaginaVO> sub) { foreach (MenuPaginaVO mp in sub.OrderBy(x => x.Ordem)) { if (!mp.EmMenu || (!String.IsNullOrEmpty(mp.Url) && !UsuarioLogado.PerfilAcesso.MenuPaginas.Any(x => x.Id == mp.Id)) || (String.IsNullOrEmpty(mp.Url) && !UsuarioLogado.PerfilAcesso.MenuPaginas.Any(x=> mp.MenuPaginas.Any(x1=> x1.Id == x.Id)))) continue; Ext.Net.MenuItem item = new Ext.Net.MenuItem(mp.Descricao); if (!String.IsNullOrEmpty(mp.Url)) item.Listeners.Click.Handler = "window.location = '" + mp.Url + "';"; item.Icon = mp.Icone.IsNullOrEmpty() ? Icon.None : (Icon)Enum.Parse(typeof(Icon), mp.Icone); if (mp.MenuPaginas.Count > 0) { Ext.Net.Menu menu1 = new Ext.Net.Menu(); CarregarSubMenu(menu1, mp.MenuPaginas); item.Menu.Add(menu1); } menu.Items.Add(item); AdicionarIcones(mp); } //if (UsuarioLogado.PerfilAcesso.Acoes.Any(x => x.TipoAcao == Entities.Enumertators.ETipoAcao.RegistrarPontosUsuarios)) //{ // Ext.Net.MenuItem item = new Ext.Net.MenuItem("Registrar Ponto"); // item.Icon = Ext.Net.Icon.ClockStart; // menu.Items.Add(item); // CarregarMenuPonto(item); //} }
/// <summary> /// Carrega o menu do projeto /// </summary> private void CarregarMenu() { List<MenuPaginaVO> lstMenuPai = new List<MenuPaginaVO>(); SetMenuPaginaPai(lstMenuPai, null); lstMenuPai = lstMenuPai.OrderByDescending(x=> x.Ordem).Distinct(new KeyEqualityComparer<MenuPaginaVO>(x => x.Id)).ToList(); foreach (MenuPaginaVO mp in lstMenuPai) { if (!mp.EmMenu) continue; if (mp.MenuPaginas.Count == 0) { Ext.Net.Button btn = new Ext.Net.Button(); btn.Text = mp.Descricao; btn.Icon = mp.Icone.IsNullOrEmpty() ? Icon.None : (Icon)Enum.Parse(typeof(Icon), mp.Icone); if (!String.IsNullOrEmpty(mp.Url)) btn.Listeners.Click.Handler = "window.location = '" + mp.Url + "';"; toolbarMenu.Items.Insert(0, btn); } else { Ext.Net.SplitButton btn = new Ext.Net.SplitButton(); btn.Text = mp.Descricao; if (mp.MenuPaginas.Count > 0) { Ext.Net.Menu menu = new Ext.Net.Menu(); CarregarSubMenu(menu, mp.MenuPaginas); btn.Menu.Add(menu); } btn.Icon = mp.Icone.IsNullOrEmpty() ? Icon.None : (Icon)Enum.Parse(typeof(Icon), mp.Icone); if (!String.IsNullOrEmpty(mp.Url)) btn.Listeners.Click.Handler = "window.location = '" + mp.Url + "';"; toolbarMenu.Items.Insert(0, btn); } AdicionarIcones(mp); } }
protected void CargaPerfiles(object sender, DirectEventArgs eventArgs) { try { IList<co_ca_usuariosperfiles> up = new bf_ca_usuariosperfiles(). GetData(new co_ca_usuariosperfiles { id_usuario = { id = FWPConfiguration.get_ID_User(Session.SessionID) } }); co_ca_perfiles perfil = new bf_ca_perfiles().GetData(FWPConfiguration.get_Perfil(Session.SessionID)); Menu menu = new Menu(); foreach (co_ca_usuariosperfiles usuper in up) { CheckMenuItem item = new CheckMenuItem(); item.Text = usuper.id_perfil.descripcion; item.Group = "perfil"; item.CheckHandler = "function(item, checked) {checked && #{btnPerfil}.setText('" + usuper.id_perfil.descripcion + "');}"; if (perfil.id_perfil == usuper.id_perfil.id) { item.Checked = true; } item.DirectEvents.Click.Event += OnCheckedChangedPerfil; Parameter idPerfil = new Parameter("idPerfil", usuper.id_perfil.id.ToString()); Parameter descripcion = new Parameter("descripcion", usuper.id_perfil.descripcion); item.DirectEvents.Click.ExtraParams.Add(idPerfil); item.DirectEvents.Click.ExtraParams.Add(descripcion); menu.Add(item); } btnPerfil.Text = perfil.pe_descripcion; btnPerfil.Menu.Add(menu); } catch (Exception ex) { Mensajes.Error(ex.Message); } }
/// <summary> /// /// </summary> /// <param name="idMenuPadre"></param> /// <param name="listMenu"></param> protected Menu CreaMenuHijos(int idMenuPadre, IList<co_ca_menu> listMenu) { try { IList<MenuItem> menusHijos = new List<MenuItem>(); Menu menus = new Menu(); foreach (co_ca_menu menuHijo in listMenu.Where(menusHijo => menusHijo.id_menupadre == idMenuPadre).OrderBy(c => c.men_orden)) { co_ca_menu hijo1 = menuHijo; IEnumerable<co_ca_menu> hijos = listMenu.Where(menHijos => menHijos.id_menupadre == hijo1.id_menu); MenuItem hijo; if (hijos.Any()) { hijo = new MenuItem { Text = menuHijo.men_nombre, IconCls = "#Application", ID = "MP_" + menuHijo.men_nombreventana }; hijo.Menu.Add(CreaMenuHijos(menuHijo.id_menu, listMenu)); } else { hijo = new MenuItem(); hijo.ID = "MH_" + menuHijo.men_nombreventana; hijo.IconCls = "#Application"; hijo.Text = menuHijo.men_nombre; hijo.DestroyMenu = false; Parameter titulo = new Parameter("title", menuHijo.men_nombre); string strurl = menuHijo.men_url; string urltemp = "k=" + menuHijo.id_menu + "&u=" + FWPConfiguration.get_ID_User(Session.SessionID) + "&p=" + FWPConfiguration.get_Perfil(Session.SessionID) + "&z=" + FWPConfiguration.get_Accesos(Session.SessionID); if (strurl.Contains("?")) { strurl = strurl + "&" + urltemp; } else { strurl = strurl + "?" + urltemp; } Parameter url = new Parameter("url", strurl); Parameter id = new Parameter("id", menuHijo.men_nombreventana); Parameter icono = new Parameter("icono", "#Application"); hijo.DirectEvents.Click.Event += Button_WindowDesktop; hijo.DirectEvents.Click.ExtraParams.Add(url); hijo.DirectEvents.Click.ExtraParams.Add(titulo); hijo.DirectEvents.Click.ExtraParams.Add(icono); hijo.DirectEvents.Click.ExtraParams.Add(id); } menusHijos.Add(hijo); } menus.Items.Add(menusHijos); return menus; } catch (Exception e) { throw new Exception(e.Message); } }
private MenuItem GetMenuItem(ContentItem contentItem, string clientPluginClass) { MenuItem menuItem = new MenuItem { Text = "New", IconUrl = Utility.GetCooliteIconUrl(Icon.PageAdd), Handler = GetJavascriptHandler(contentItem, clientPluginClass) }; // Add child menu items for types that can be created under the current item. IContentTypeManager manager = Context.Current.Resolve<IContentTypeManager>(); var childTypes = manager.GetAllowedChildren(manager.GetContentType(contentItem.GetType()), null, Context.Current.WebContext.User); if (childTypes.Any()) { Menu childMenu = new Menu(); menuItem.Menu.Add(childMenu); foreach (ContentType child in childTypes) { MenuItem childMenuItem = new MenuItem { Text = child.Title, IconUrl = child.IconUrl, Handler = string.Format("function() {{ new top.{0}('New {1}', '{2}').execute(); }}", clientPluginClass, child.Title, Context.AdminManager.GetEditNewPageUrl(contentItem, child, null, CreationPosition.Below)) }; childMenu.Items.Add(childMenuItem); } } return menuItem; }