예제 #1
0
    /// <summary>
    /// 初始化菜单
    /// </summary>
    protected void InitMenu()
    {
        UserSession user         = SessionBox.GetUserSession();
        Module      modulesCrud  = new Module();
        DataTable   dtModuleType = modulesCrud.GetModuleGroupList("").Tables[0]; //取得所有数据得到DataTable

        pnlTree.Items.Clear();
        Accordion accordion = new Accordion();

        if (dtModuleType.Rows.Count > 0)
        {
            for (int i = 0; i < dtModuleType.Rows.Count; i++)
            {
                TreePanel tree = new TreePanel();
                tree.AutoScroll  = true;
                tree.Title       = dtModuleType.Rows[i]["MODULEGROUPNAME"].ToString().Trim();
                tree.RootVisible = false;

                Coolite.Ext.Web.TreeNode root = new Coolite.Ext.Web.TreeNode();
                root.NodeID = dtModuleType.Rows[i]["MODULEGROUPID"].ToString();
                tree.Root.Add(root);

                DataTable dtModules = modulesCrud.GetModuleList("MODULEGROUPID=" + dtModuleType.Rows[i]["MODULEGROUPID"].ToString()).Tables[0];
                if (dtModules.Rows.Count > 0)
                {
                    for (int j = 0; j < dtModules.Rows.Count; j++)
                    {
                        bool b = UserHandle.ValidationModule(int.Parse(dtModules.Rows[j]["MODULEID"].ToString()), PermissionTag.Browse);
                        if (SessionBox.GetUserSession().Status == "1" && dtModules.Rows[j]["STATUS"].ToString().ToLower() == "1" && b)
                        {
                            if (dtModules.Rows[j]["MODULENAME"].ToString().Trim() == "发送短信" && (SessionBox.GetUserSession().PersonNumber != "68887" && SessionBox.GetUserSession().LoginName != "yu"))
                            {
                                continue;
                            }
                            Coolite.Ext.Web.TreeNode node = new Coolite.Ext.Web.TreeNode(dtModules.Rows[j]["MODULEID"].ToString(), dtModules.Rows[j]["MODULENAME"].ToString().Trim(), Icon.ApplicationViewList);
                            node.Qtip = dtModules.Rows[j]["MODULENAME"].ToString().Trim();
                            node.Listeners.Click.Handler = string.Format("reload('{0}', '{1}');", dtModules.Rows[j]["MODULENAME"].ToString().Trim(), dtModules.Rows[j]["MODULEURL"].ToString().Trim());
                            node.Expanded = false;
                            root.Nodes.Add(node);
                        }
                    }

                    if (root.Nodes.Count > 0)
                    {
                        accordion.Items.Add(tree);
                    }
                }
                if (accordion.Items.Count > 0)
                {
                    pnlTree.BodyControls.Add(accordion);
                }
            }
        }
    }
예제 #2
0
        /// <summary>
        /// 获取菜单数据
        /// </summary>
        private void LoadModuleTree()
        {
            //获取当前登录的会员信息。
            UserSession user = SessionBox.GetUserSession();

            RedGlovePermission.BLL.RGP_Modules bll = new RedGlovePermission.BLL.RGP_Modules();

            //获取所有顶层模块。
            DataSet ModuleType = bll.GetModuleTypeList("");

            //增加模块分类和模块。
            if (ModuleType.Tables[0].Rows.Count > 0)
            {
                foreach (DataRow dr in ModuleType.Tables[0].Rows)
                {
                    //添加顶级分类
                    string s = ResourceManager.GetString(dr["ModuleTypeName"].ToString());
                    if (s != null)
                    {
                        s = ResourceManager.GetString(dr["ModuleTypeName"].ToString());
                    }
                    else
                    {
                        s = dr["ModuleTypeName"].ToString();
                    }
                    TreeNode masterNode = new TreeNode(s);
                    MenuTreeView.Nodes.Add(masterNode);
                    masterNode.SelectAction = TreeNodeSelectAction.Expand;
                    masterNode.Expanded     = false;
                    int i = 0;
                    //增加子模块分类
                    DataSet Module = bll.GetModuleList("ModuleTypeID=" + dr["ModuleTypeID"].ToString());
                    foreach (DataRow child_dr in Module.Tables[0].Rows)
                    {
                        if ((user.IsLimit == true ||
                             ((child_dr["ModuleDisabled"].ToString().ToLower() == "true") || (child_dr["ModuleDisabled"].ToString().ToLower() == "1") &&
                              UserHandle.ValidationModule(int.Parse(child_dr["ModuleID"].ToString()), RGP_Tag.Browse))) &&
                            (child_dr["IsMenu"].ToString().ToLower() == "true" || child_dr["IsMenu"].ToString().ToLower() == "1"))
                        {
                            string childs = ResourceManager.GetString(child_dr["ModuleName"].ToString());
                            if (childs != null)
                            {
                                childs = ResourceManager.GetString(child_dr["ModuleName"].ToString());
                            }
                            else
                            {
                                childs = child_dr["ModuleName"].ToString();
                            }
                            TreeNode childNode = new TreeNode(childs);
                            childNode.Expanded    = false;
                            childNode.NavigateUrl = child_dr["ModuleURL"].ToString();
                            childNode.Target      = "modulePanel";
                            childNode.ToolTip     = child_dr["ModuleDescription"].ToString();
                            masterNode.ChildNodes.Add(childNode);
                            i++;
                        }
                    }
                    //删除不必要的模块分类节点。
                    if (i == 0)
                    {
                        MenuTreeView.Nodes.Remove(masterNode);
                    }
                }

                MenuTreeView.CollapseImageToolTip = "";
                MenuTreeView.ExpandImageToolTip   = "";
            }
        }