/// <summary> /// 通过元数据加载菜单 /// </summary> public void LoadMenus() { //IMenuService menuService = (IMenuService)application.GetService(typeof(IMenuService)); MainMenuPages.Clear(); MenuDict.Clear(); ISinoMenu _iSinoMenu = MenuConfig.GetMenuInterface(); UserMenuList = _iSinoMenu.GetAllMenus(SessionClass.CurrentSinoUser.CurrentPost.PostID); if (UserMenuList != null) { SinoMenuFatherFinder _finder = new SinoMenuFatherFinder("0"); List <SinoMenuItem> _TopLevelMenuList = UserMenuList.FindAll(new Predicate <SinoMenuItem>(_finder.FindByFather)); _TopLevelMenuList.Sort(new SinoMenuComparer()); foreach (SinoMenuItem _smi in _TopLevelMenuList) { if (_smi.MenuType.Length > 3 && _smi.MenuType.Substring(0, 3) == "WEB") { //这是WEB的菜单 } else if (_smi.MenuType.Length > 3 && _smi.MenuType.Substring(0, 3) == "SL_") { //这是Silverlight的菜单 } else { FrmMenuPage _fmp = new FrmMenuPage(_smi.MenuID, _smi.MenuTitle, _smi.CanUse); this.AddMainMenuPage(_fmp); AddSubMenu(_smi, UserMenuList, _fmp); } } } }
/// <summary> /// 通过元数据加载菜单 /// </summary> public void LoadMenus() { //IMenuService menuService = (IMenuService)application.GetService(typeof(IMenuService)); MainMenuPages.Clear(); MenuDict.Clear(); using (CommonService.CommonServiceClient _cs = new CommonService.CommonServiceClient()) { UserMenuList = _cs.GetAllMenus(SessionClass.CurrentSinoUser.CurrentPost.PostID).ToList <SinoMenuItem>(); } if (UserMenuList != null) { var _TopLevelMenuList = from _c in UserMenuList where _c.FatherID == "0" orderby _c.DisplayOrder select _c; foreach (SinoMenuItem _smi in _TopLevelMenuList) { if (_smi.MenuType.Length > 3 && _smi.MenuType.Substring(0, 3) == "WEB") { //这是WEB的菜单 } else if (_smi.MenuType.Length > 3 && _smi.MenuType.Substring(0, 3) == "SL_") { //这是Silverlight的菜单 } else { FrmMenuPage _fmp = new FrmMenuPage(_smi.MenuID, _smi.MenuTitle, _smi.CanUse); this.AddMainMenuPage(_fmp); AddSubMenu(_smi, UserMenuList, _fmp); } } } }
public void SuperLoad() { if (application != null && application.MainRibbon != null) { //添加一个主菜单 IMenuService menuService = (IMenuService)application.GetService(typeof(IMenuService)); if (menuService != null) { FrmMenuPage _menuPage = new FrmMenuPage("MetaDataManagerPage", "元数据管理"); menuService.AddMainMenuPage(_menuPage); FrmMenuGroup _menuGroup = new FrmMenuGroup("MetaDataManager", "元数据定义"); menuService.AddMenuGroup(_menuPage, _menuGroup); //全局定义 MenuCommandDefine _md = new MenuCommandDefine("GlobalDefine", "全局定义", this as IMenuCommand, null); FrmMenuItem _menuItem = new FrmMenuItem("全局定义", "GlobalDefine", global::SinoSZMetaDataManager.Properties.Resources.g1, 80, _md); menuService.AddMenuItem(_menuPage, _menuGroup, _menuItem); //节点定义 _md = new MenuCommandDefine("NodeDefine", "节点定义", this as IMenuCommand, null); _menuItem = new FrmMenuItem("节点定义", "NodeDefine", global::SinoSZMetaDataManager.Properties.Resources.g2, 80, _md); menuService.AddMenuItem(_menuPage, _menuGroup, _menuItem); //指标定义 _md = new MenuCommandDefine("GuideLineDefine", "指标定义", this as IMenuCommand, null); _menuItem = new FrmMenuItem("指标定义", "GuideLineDefine", global::SinoSZMetaDataManager.Properties.Resources.g3, 80, _md); menuService.AddMenuItem(_menuPage, _menuGroup, _menuItem); } } }
/// <summary> /// 取辅助菜单页 /// </summary> /// <returns></returns> public IList<FrmMenuPage> GetMenuPages() { IList<FrmMenuPage> _ret = new List<FrmMenuPage>(); FrmMenuPage _page = new FrmMenuPage("指标查询"); _page.MenuGroups = GetMenuGroups(_page.PageTitle); _ret.Add(_page); return _ret; }
public IList <FrmMenuPage> GetMenuPages() { IList <FrmMenuPage> _ret = new List <FrmMenuPage>(); FrmMenuPage _page = new FrmMenuPage(_menuPageName); _page.MenuGroups = GetMenuGroups(_page.PageTitle); _ret.Add(_page); return(_ret); }
private void AddSubMenu(SinoMenuItem _fmenuitem, List <SinoMenuItem> _menuList, FrmMenuPage _fmp) { SinoMenuFatherFinder _finder = new SinoMenuFatherFinder(_fmenuitem.MenuID); List <SinoMenuItem> _subMenuList = _menuList.FindAll(new Predicate <SinoMenuItem>(_finder.FindByFather)); _subMenuList.Sort(new SinoMenuComparer()); foreach (SinoMenuItem _smi in _subMenuList) { FrmMenuGroup _fmg = new FrmMenuGroup(_smi.MenuID, _smi.MenuTitle, _smi.CanUse); this.AddMenuGroup(_fmp, _fmg); if (_smi.MenuType != "") { MenuTypeBase _mtype = MenuTypeCreator.CreateMenuType(_smi.MenuType); IPluginService pluginService = (IPluginService)application.GetService(typeof(IPluginService)); IPlugin _plugin = pluginService.GetPluginInstance(_mtype.MenuTypePluginName); if (_plugin == null) { RaiseLoadErrord(new CommonEventArgs(string.Format("未找到组菜单定义:{0}", _mtype))); } else { _plugin.Load(_fmg, _smi.MenuParameter); } } else { this.AddSubMenuItem(_smi, _menuList, _fmg); } } }