예제 #1
0
    private void BindPage()
    {
        int            roleId          = Convert.ToInt32(Request.QueryString["roleId"]);
        IList <SysFun> parentLists     = SysFunManager.GetParentNodeByRoleId(roleId);
        IList <SysFun> sysLists        = SysFunManager.GetAllParentSys();
        ArrayList      currentSysLists = new ArrayList();

        foreach (SysFun currentSys in parentLists)
        {
            currentSysLists.Add(currentSys.NodeId.ToString());
        }
        foreach (SysFun sys in sysLists)
        {
            RoleUserControl ruc = LoadControl("~/UserControl/RoleUserControl.ascx") as RoleUserControl;

            //父节点
            CheckBox parentcb = ruc.FindControl("chkParentMenu") as CheckBox;
            ruc.RoleId       = roleId;
            ruc.ParentNodeId = sys.NodeId;
            parentcb.Text    = sys.DisplayName;
            //因为JS通过控件ID控制复选框的原因  不能为下面的控件设ID
            // parentcb.ID = sys.NodeId.ToString();
            if (currentSysLists.Contains(sys.NodeId.ToString()))
            {
                parentcb.Checked = true;
            }

            this.phRoleDistribute.Controls.Add(ruc);
        }
    }
예제 #2
0
 //下移
 protected void btnDown_Click(object sender, EventArgs e)
 {
     if (ViewState["nodeId"] != null && !"".Equals(ViewState["nodeId"]))
     {
         bool flag = SysFunManager.DownNode(Convert.ToInt32(ViewState["nodeId"]));
         BindTV();
     }
 }
예제 #3
0
    private void BindTV()
    {
        IList <SysFun> parentSysLists = SysFunManager.GetParentNodeByUID(((MyOffice.Models.User)Session["Login"]).UserId);

        foreach (SysFun parentSys in parentSysLists)
        {
            TreeNode parentNode = new TreeNode(parentSys.DisplayName);

            IList <SysFun> childSysLists = SysFunManager.GetNodeByParentIdAndUID("admin", parentSys.NodeId);
            foreach (SysFun childSys in childSysLists)
            {
                TreeNode childNode = new TreeNode(childSys.DisplayName, "", "../images/CloseTree.gif", "~/" + childSys.NodeURL, "mainFrame");
                parentNode.ChildNodes.Add(childNode);
            }
            this.tvMyOffice.Nodes.Add(parentNode);
        }
    }
예제 #4
0
    protected void DisplayRoleRighMenu()
    {
        ////根据角色Id和父节点Id从RoleRight表中获得当前孩子菜单拥有的权限
        //IList<RoleRight> currentRoleChildNodes = RoleRightManager.GetParentNodesByRoleIdOrParentId(this.RoleId,this.ParentNodeId);
        //ArrayList arrRoleChildNodes = new ArrayList();
        //foreach (RoleRight roleRight in currentRoleChildNodes)
        //{
        //    arrRoleChildNodes.Add(roleRight.Node.NodeId.ToString());
        //}
        ////根据父节点Id得到对应的所有子节点信息
        //IList<SysFun> sysFuns = SysFunManager.GetSysFunByParentNodeIdAndUserId(this.ParentNodeId,null);
        ////将子节点循环追加到CheckBoxList控件中
        //foreach(SysFun sf in sysFuns){
        //    ListItem li = new ListItem();
        //    li.Value = sf.NodeId.ToString();
        //    li.Text = sf.DisplayName;
        //    if(arrRoleChildNodes.Contains(li.Value)) li.Selected = true;
        //    chklstChildMenu.Items.Add(li);
        //}


        IList <SysFun> childLists        = SysFunManager.GetNodeByParentId(parentNodeId);
        IList <SysFun> currentChildLists = SysFunManager.GetNodeByParentIdAndRoleId(roleId, parentNodeId);
        ArrayList      currentSysLists   = new ArrayList();

        foreach (SysFun childSys in currentChildLists)
        {
            currentSysLists.Add(childSys.NodeId.ToString());
        }

        foreach (SysFun sys in childLists)
        {
            ListItem li = new ListItem(sys.DisplayName, sys.NodeId.ToString());
            if (currentSysLists.Contains(sys.NodeId.ToString()))
            {
                li.Selected = true;
            }
            this.chklstChildMenu.Items.Add(li);
        }
    }
예제 #5
0
    /// <summary>
    /// 递归添加节点
    /// </summary>
    /// <param name="treeNodeCollection">父级节点</param>
    /// <param name="nodeId">SysFun表中的父ID</param>
    private void CreateTreeNode(TreeNodeCollection treeNodeCollection, int nodeId)
    {
        IList <SysFun> lists = SysFunManager.GetNodeByParentId(nodeId);

        foreach (SysFun sys in lists)
        {
            TreeNode tn = null;
            if (nodeId == 0)
            {
                tn = new TreeNode(sys.DisplayName, sys.NodeId.ToString());
            }
            else
            {
                tn = new TreeNode(sys.DisplayName, sys.NodeId.ToString(), "~/images/CloseTree.gif");
            }
            if (tn.Value.Equals(ViewState["nodeId"]))
            {
                tn.Selected = true;
            }
            treeNodeCollection.Add(tn);

            CreateTreeNode(tn.ChildNodes, sys.NodeId);
        }
    }