コード例 #1
0
        protected void GenMenu()
        {
            cefUser   objEfUser = new cefUser();
            DataTable dtList    = new DataTable();
            DataTable dt        = new DataTable();

            DataRow[] drMenu;
            DataRow[] drMenu_sub;
            try
            {
                string strCriteria = string.Empty;
                strCriteria  = " And MenuParent = 0 ";
                strCriteria += " And UserGroupCode= '" + Session["UserGroupCode"] + "'";
                strCriteria += " And CanView= 'Y' ";
                strCriteria += " Order by MenuOrder ";
                dtList       = objEfUser.SP_USER_GROUP_MENU_SEL(strCriteria);

                strCriteria  = " And UserGroupCode='" + Session["UserGroupCode"] + "' ";
                strCriteria += " And CanView= 'Y' ";
                strCriteria += " Order by MenuOrder ";
                dt           = objEfUser.SP_USER_GROUP_MENU_SEL(strCriteria);

                ASPxMenu1.Items.Clear();
                for (int i = 0; i < dtList.Rows.Count; i++)
                {
                    var menuItem = new DevExpress.Web.ASPxMenu.MenuItem();
                    menuItem.Text        = dtList.Rows[i]["MenuName"].ToString();
                    menuItem.NavigateUrl = dtList.Rows[i]["MenuNavigationUrl"].ToString();
                    menuItem.Image.Url   = Helper.CStr(dtList.Rows[i]["MenuImageUrl"].ToString());
                    drMenu = dt.Select("MenuParent=" + dtList.Rows[i]["MenuID"].ToString());
                    for (int j = 0; j < drMenu.Length; j++)
                    {
                        var menuItem_sub = new DevExpress.Web.ASPxMenu.MenuItem();
                        menuItem_sub.Text        = drMenu[j]["MenuName"].ToString();
                        menuItem_sub.NavigateUrl = drMenu[j]["MenuNavigationUrl"].ToString();
                        menuItem_sub.Image.Url   = drMenu[j]["MenuImageUrl"].ToString();
                        drMenu_sub = dt.Select("MenuParent=" + drMenu[j]["MenuID"].ToString());
                        for (int k = 0; k < drMenu_sub.Length; k++)
                        {
                            var menuItem_sub2 = new DevExpress.Web.ASPxMenu.MenuItem();
                            menuItem_sub2.Text        = drMenu_sub[k]["MenuName"].ToString();
                            menuItem_sub2.NavigateUrl = drMenu_sub[k]["MenuNavigationUrl"].ToString();
                            menuItem_sub2.Image.Url   = drMenu_sub[k]["MenuImageUrl"].ToString();
                            menuItem_sub.Items.Add(menuItem_sub2);
                        }
                        menuItem.Items.Add(menuItem_sub);
                    }
                    ASPxMenu1.Items.Add(menuItem);
                }
            }
            catch (Exception ex)
            {
                MsgBox(ex.Message);
            }
            finally
            {
                dtList.Dispose();
                objEfUser.Dispose();
            }
        }
コード例 #2
0
ファイル: MainMenu.ascx.cs プロジェクト: ramyothman/RBM
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Thread.CurrentThread.CurrentUICulture.Name.Contains("ar"))
                {
                    menuList = new MenuEntityItemLogic().GetAllParentItemsForItemId(88);
                }
                else
                {
                    menuList = new MenuEntityItemLogic().GetAllParentItemsForItemId(Convert.ToInt32(BusinessLogicLayer.Common.AdminMenu));
                }
                foreach (MenuEntityItem item in menuList)
                {
                    DevExpress.Web.ASPxMenu.MenuItem menuItem = new DevExpress.Web.ASPxMenu.MenuItem();

                    menuItem.Text = item.Name;
                    menuItem.Name = item.MenuEntityItemId.ToString();
                    if (!string.IsNullOrEmpty(item.PagePath) && item.PagePath != "#")
                        menuItem.NavigateUrl = item.PagePath;
                    LoadMenuItemDetails(item, menuItem);
                    dxMainMenu.Items.Add(menuItem);
                }
            }
        }
 private DevExpress.Web.ASPxMenu.MenuItem CreateMenuItem(DataRow row)
 {
     DevExpress.Web.ASPxMenu.MenuItem ret = new DevExpress.Web.ASPxMenu.MenuItem();
     ret.Text        = row["Text"].ToString();
     ret.NavigateUrl = row["NavigateUrl"].ToString();
     return(ret);
 }
    protected void BuildMenu(DevExpress.Web.ASPxMenu.ASPxMenu menu, SqlDataSource dataSource)
    {
        // Get DataView
        DataSourceSelectArguments arg = new DataSourceSelectArguments();
        DataView dataView             = dataSource.Select(arg) as DataView;

        dataView.Sort = "ParentID";

        // Build Menu Items
        Dictionary <string, DevExpress.Web.ASPxMenu.MenuItem> menuItems =
            new Dictionary <string, DevExpress.Web.ASPxMenu.MenuItem>();

        for (int i = 0; i < dataView.Count; i++)
        {
            DataRow row = dataView[i].Row;
            DevExpress.Web.ASPxMenu.MenuItem item = CreateMenuItem(row);
            string itemID   = row["ID"].ToString();
            string parentID = row["ParentID"].ToString();

            if (menuItems.ContainsKey(parentID))
            {
                menuItems[parentID].Items.Add(item);
            }
            else
            {
                if (parentID == "0") // It's Root Item
                {
                    menu.Items.Add(item);
                }
            }
            menuItems.Add(itemID, item);
        }
    }
コード例 #5
0
 protected void ASPxPivotGrid1_PopupMenuCreated(object sender, DevExpress.Web.ASPxPivotGrid.PivotPopupMenuCreatedEventArgs e)
 {
     if (e.MenuType == DevExpress.Web.ASPxPivotGrid.PivotGridPopupMenuType.FieldValueMenu)
     {
         DevExpress.Web.ASPxMenu.MenuItem item = e.Menu.Items.Add("Filter By This Value", "Filter");
         item.BeginGroup = true;
         e.Menu.ClientSideEvents.PopUp   = "function ASPxClientMenuItemEventHandler(s, e) { MenuItemPopUpHandle(s, e); }";
         e.Menu.ClientSideEvents.CloseUp = "function ASPxClientMenuItemEventHandler(s, e) { MenuItemCloseUpHandle(s, e); }";
     }
 }
コード例 #6
0
        public string LoadSubMenu(string parentCode)
        {
            try
            {
                var parentObj = MySys.Me.Get_Menu(parentCode);
                var rolePath  = string.Format("{0}\\App\\{1}", GlobalVar.RootPath, parentObj.Url);
                if (!Directory.Exists(rolePath))
                {
                    throw new Exception(string.Format("Directory {0} is not exists!", parentObj.Url));
                }

                var lsSub   = MySys.Me.Get_MenuChild(parentCode).ToList();
                var culName = LanguageManager.CurrentCulture.Name;
                var isUS    = culName.Equals("en-US");

                // Duyệt qua tất cả các chức năng cha (group)
                var mnSubItems = new List <DevExpress.Web.ASPxMenu.MenuItem>();
                foreach (var sub in lsSub)
                {
                    var url     = string.Format(@"/App/{0}/{1}.aspx?submnucode={2}", parentObj.Url, parentObj.Url, sub.Code);
                    var caption = isUS ? sub.NameEN : sub.NameVI;
                    var mnItem  = Helpers.CreateMenuObject(caption, sub.Code, url);
                    //mnItem.Selected = sub.IsDefault;
                    mnSubItems.Add(mnItem);
                }
                this.mnuSubH.Items.AddRange(mnSubItems);

                // Lưu url mặc định vào session khi tạo mới 1 submenu từ một parent menu.
                // Áp dụng cho menu chỉ có 2 cấp.
                //var firstItem = mnSubItems.FirstOrDefault();
                DevExpress.Web.ASPxMenu.MenuItem firstItem = null;
                var defaultSubItem = lsSub.FirstOrDefault(p => p.IsDefault);
                if (defaultSubItem != null)
                {
                    firstItem = mnSubItems.FirstOrDefault(p => p.Name == defaultSubItem.Code);
                }

                //var firstItem = mnSubItems.FirstOrDefault(p => p.Selected);
                if (firstItem != null)
                {
                    GlobalVar.FirstURL = firstItem.NavigateUrl;
                }
                // Hủy các đối tượng cũ không còn dc tham khảo tới
                GC.Collect();
            }
            catch (Exception ex)
            {
                GlobalVar.FirstURL = string.Empty;
                return(ex.Message);
            }
            return(string.Empty);
        }
コード例 #7
0
ファイル: MainMenu.ascx.cs プロジェクト: ramyothman/RBM
 private void LoadMenuItemDetails(MenuEntityItem itemParent, DevExpress.Web.ASPxMenu.MenuItem menuItemParent)
 {
     List<MenuEntityItem> details = new MenuEntityItemLogic().GetAllByParent(itemParent.MenuEntityItemId);
     foreach (MenuEntityItem item in details)
     {
         DevExpress.Web.ASPxMenu.MenuItem menuItem = new DevExpress.Web.ASPxMenu.MenuItem();
         menuItem.Text = item.Name;
         menuItem.Name = item.MenuEntityItemId.ToString();
         if (!string.IsNullOrEmpty(item.PagePath) && item.PagePath != "#")
             menuItem.NavigateUrl = item.PagePath;
         menuItemParent.Items.Add(menuItem);
     }
 }
コード例 #8
0
        public static DevExpress.Web.ASPxMenu.MenuItem CreateMenuObject(string caption, string name, string url)
        {
            var mnItem = new DevExpress.Web.ASPxMenu.MenuItem();

            mnItem.Text    = caption;
            mnItem.ToolTip = caption;
            mnItem.Name    = name;
            if (!string.IsNullOrEmpty(url)) // Là mục
            {
                mnItem.NavigateUrl = url;
            }
            return(mnItem);
        }
コード例 #9
0
    private void AddChildMenu(DataTable menuDataTable, DevExpress.Web.ASPxMenu.MenuItem parentMenuItem)
    {
        string   text = "", name = "", url = "";
        DataView dv = new DataView(menuDataTable);

        dv.RowFilter = "menu_code_father = '" + parentMenuItem.Name + "'";
        dv.Sort      = "menu_index";
        foreach (DataRowView dvr in dv)
        {
            name = dvr["menu_code"].ToString();
            text = dvr["menu_name"].ToString();
            if (!text.Trim().Equals(""))
            {
                url = dvr["program_value"].ToString().Trim();
                url = url.Equals("") ? "" : ("../.." + url + "?progCode=" + dvr["program_code"].ToString() + "&progName=" + dvr["program_name"]);
                DevExpress.Web.ASPxMenu.MenuItem m = new DevExpress.Web.ASPxMenu.MenuItem(text, name, "", url);
                parentMenuItem.Items.Add(m);
                AddChildMenu(menuDataTable, m);
            }
        }
        dv.Dispose();
    }
コード例 #10
0
    protected void Page_Load(object sender, EventArgs e)
    {
        PubCs  thePubCs      = new PubCs();
        string theServerPath = Server.MapPath("~/").ToString();

        theServerPath = theServerPath + "Rmes/Pub/Xml/RmesConfig.xml";
        baseURI       = thePubCs.ReadFromXml(theServerPath, "rootPath");


        userManager theUserManager = (userManager)Session["theUserManager"];

        theDisplayProgramName = theUserManager.getProgName();
        theDisplayPlineName   = theUserManager.getPlineName();
        theDisplayUserName    = theUserManager.getUserName();
        theDisplayCompanyCode = theUserManager.getCompanyCode();
        theDisplayProgramCode = theUserManager.getProgCode();

        string theMenuCompanyCode = theUserManager.getCompanyCode();
        string theMenuUserCode    = theUserManager.getUserCode();
        string theMenuUserId      = theUserManager.getUserId();

        string opt    = Request["opt"] as string;
        string progid = Request["progCode"] as string;

        if (opt != null && progid != null && opt != string.Empty && progid != string.Empty)
        {
            if (opt == "setdefaultpage")
            {
                try
                {
                    dataConn dc      = new dataConn();
                    string   _theSql = "SELECT * FROM REL_USER_DEFAULTPAGE WHERE COMPANY_CODE = '" + theDisplayCompanyCode + "' AND USER_ID = '" + theMenuUserId + "'";
                    dc.setTheSql(_theSql);
                    if (dc.GetState())
                    {
                        _theSql = "UPDATE REL_USER_DEFAULTPAGE SET DEFAULT_PAGE = '" + progid + "' WHERE  COMPANY_CODE = '" + theDisplayCompanyCode + "' AND USER_ID = '" + theMenuUserId + "'";
                    }
                    else
                    {
                        _theSql = "INSERT INTO REL_USER_DEFAULTPAGE(COMPANY_CODE,USER_ID,DEFAULT_PAGE)VALUES('" + theDisplayCompanyCode + "','" + theMenuUserId + "','" + progid + "')";
                    }
                    dc.ExeSql(_theSql);
                    Response.Write("设置成功:" + progid);
                }
                catch (Exception ex)
                {
                    Response.Write("设置失败,信息如下:\n" + ex.Message);
                }
                Response.End();
            }
        }

        //得到菜单绝对地址
        string theHost    = Request.ServerVariables["REMOTE_ADDR"];
        string thePort    = Request.ServerVariables["SERVER_PORT"];
        string theUrl     = Request.ServerVariables["URL"];
        string theUrlTemp = theUrl.Substring(0, theUrl.IndexOf("/", 1));

        string str = "欢迎使用RMES系统," + theDisplayPlineName + " 的 " + theDisplayUserName + ",你当前打开的页面:" + theDisplayProgramName;

        ASPxRoundPanel1.HeaderText = str;

        //帮助 20080408

        theHelpFile = theUrlTemp + "/Rmes/Help/" + theDisplayProgramCode + ".htm";


        //考虑以后可能对程序内容做一些处理,暂且定义变量
        //string theProgTemp = "";

        string   theSql      = "select menu_code,menu_name,menu_code_father,menu_index,program_code,program_name,program_value from vw_rel_user_menu where company_code='" + theMenuCompanyCode + "' and user_id='" + theMenuUserId + "' order by menu_level,menu_index";
        dataConn theDataConn = new dataConn(theSql);
        //theDataConn.OpenConn();
        //theDataConn.theComd.CommandType = CommandType.Text;
        //theDataConn.theComd.CommandText = theSql;
        //OracleDataReader dr = theDataConn.theComd.ExecuteReader();

        DataTable dt = theDataConn.GetTable(theSql);
        DataView  dv = new DataView(dt);

        dv.RowFilter = "menu_code_father is NULL and menu_code is not NUll and menu_name is not NULL";
        dv.Sort      = "menu_index";

        string name = "", text = "", url = "";

        foreach (DataRowView dvr in dv)
        {
            name = dvr["menu_code"].ToString();
            text = dvr["menu_name"].ToString();
            url  = dvr["program_value"].ToString().Trim();
            url  = url.Equals("") ? "" : ("../.." + url + "?progCode=" + dvr["program_code"].ToString() + "&progName=" + dvr["program_name"]);
            if (!text.Trim().Equals(""))
            {
                DevExpress.Web.ASPxMenu.MenuItem m = new DevExpress.Web.ASPxMenu.MenuItem(text, name, "", url);
                ASPxMenu1.Items.Add(m);
                AddChildMenu(dt, m);
            }
        }
        if (ASPxMenu1.Items.Count > 0)
        {
            //modeify by thl 20161011 用户不需要 注释了
            ASPxMenu1.Target = "ifmain";
            ASPxMenu1.Items.Add("附加功能", "ext_menu", "", "");
            DevExpress.Web.ASPxMenu.MenuItem m = ASPxMenu1.Items.FindByName("ext_menu");
            m.Items.Add("设置为默认页", "ext_set_homepage", "", "javascript:$.setDefaultPage(window.ifmain.location.href)", "_self");
            //m.Items.Add("选择主题", "ext_set_theme", "", "");
            DevExpress.Web.ASPxMenu.MenuItem n = ASPxMenu1.Items.FindByName("ext_set_theme");


            string path = Server.MapPath("~/App_Themes");

            //string[] themes = System.IO.Directory.GetDirectories(path);

            //string sTemp = "";
            //foreach (string s in themes)
            //{
            //    sTemp = s.Substring(s.LastIndexOf("\\") + 1);
            //    if (!sTemp.StartsWith("."))
            //        n.Items.Add(sTemp, sTemp, "", "javascript:jQuery.setTheme('" + sTemp + "')", "_self");
            //}
        }
    }
コード例 #11
0
        public override void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                base.Page_Load(sender, e);

                //verifica a existência do mesmo
                if (user != null)
                {
                    lblUserInfo.InnerText = user.Nome + " | " + DateTime.Now.ToLongDateString();

                    Session["FuncionalidadesPermitidas"] = dtMenuItensSon;

                    // Build Menu Items
                    Dictionary<string, DevExpress.Web.ASPxMenu.MenuItem> menuItems =
                        new Dictionary<string, DevExpress.Web.ASPxMenu.MenuItem>();

                    for (int i = 0; i < dvMenuItenRoot.Count; i++)
                    {
                        DataRow row = dvMenuItenRoot[i].Row;

                        DevExpress.Web.ASPxMenu.MenuItem item = CreateMenuItem(row, true);
                        string itemID = row["id_menu"].ToString();
                        string parentID = row["id_menu_pai"].ToString();

                        //Adiciona o menu principal (ROOT)
                        if (menuItems.ContainsKey(parentID))
                            menuItems[parentID].Items.Add(item);
                        else
                        {
                            if (parentID == "0") // It's Root Item
                                menuSistema.Items.Add(item);
                        }

                        menuItems.Add(itemID, item);

                        //Filter para pegar apenas os filhos do menu pai
                        //dvMenuItensSon.RowFilter = "id_menu_pai = " + itemID;
                        //dvMenuItensSon.RowStateFilter = DataViewRowState.ModifiedCurrent;

                        for (int j = 0; j < dvMenuItensSon.Count; j++)
                        {
                            if (dvMenuItensSon[j].Row["id_menu_pai"].ToString().Equals(itemID))
                            {
                                DataRow rowSon = dvMenuItensSon[j].Row;

                                DevExpress.Web.ASPxMenu.MenuItem itemSon = CreateMenuItem(rowSon, false);
                                string itemIDSon = rowSon["id_menu"].ToString();
                                string parentIDSon = rowSon["id_menu_pai"].ToString();

                                //Adiciona os menus itens do pai
                                if (menuItems.ContainsKey(parentIDSon))
                                    menuItems[parentIDSon].Items.Add(itemSon);
                                else
                                {
                                    if (parentIDSon == "0") // It's Root Item
                                        menuSistema.Items.Add(itemSon);
                                }
                                menuItems.Add(itemIDSon, itemSon);
                            }
                        }
                    }

                    //Cria o menu o item de menu SAIR
                    DevExpress.Web.ASPxMenu.MenuItem btnSair = new DevExpress.Web.ASPxMenu.MenuItem();
                    btnSair.Text = "Sair";
                    btnSair.Name = "btnSair";

                    //Adiciona botao ao menu
                    menuSistema.Items.Add(btnSair);
                }
                else
                {
                    //Destroi todos os tickets existentes
                    FormsAuthentication.SignOut();

                    //Limpa as sessões existentes
                    Session.Clear();

                    //Redireciona para a página principal
                    FormsAuthentication.RedirectToLoginPage();
                }
            }
        }
コード例 #12
0
 private DevExpress.Web.ASPxMenu.MenuItem CreateMenuItem(DataRow row, bool menuPai)
 {
     if (menuPai)
     {
         DevExpress.Web.ASPxMenu.MenuItem ret = new DevExpress.Web.ASPxMenu.MenuItem();
         ret.Text = row["ds_nome_menu"].ToString();
         ret.NavigateUrl = row["path"].ToString();
         return ret;
     }
     else
     {
         DevExpress.Web.ASPxMenu.MenuItem ret = new DevExpress.Web.ASPxMenu.MenuItem();
         ret.Text = row["funcionalidade"].ToString();
         ret.NavigateUrl = row["path"].ToString();
         return ret;
     }
 }