TreeView树形菜单

来源:互联网 发布:java if语句 编辑:程序博客网 时间:2024/05/17 19:59

   //初始化树形菜单
    private void InitTreeMenu()
    {
        IList<BranchInfo> branchInfoList = branchInfoBLL.GetBranchInfoAll();//获取所有机构
        foreach (BranchInfo branchInfo in branchInfoList)
        {
            TreeNode root = new TreeNode(branchInfo.BranchName);
            root.ImageUrl = "~/Images/menuclose.gif";
            IList<DepartInfo> departInfoList = departInfoBLL.GetDepartInfoByBranchId(branchInfo.BranchId);//获取机构中的对应部门
            foreach (DepartInfo departInfo in departInfoList)
            {
                TreeNode node = new TreeNode(departInfo.DepartName);
                node.ImageUrl = "~/Images/OpenTree.gif";
                IList<UserInfo> userInfoList = userInfoBLL.GetUserInfoByDepartID(departInfo.DepartId);//查询部门中对应的人员
                foreach (UserInfo userInfo in userInfoList)
                {
                    TreeNode node1 = new TreeNode(userInfo.UserName);
                    node1.ImageUrl = "~/Images/person.gif";
                    node.ChildNodes.Add(node1);
                }
                root.ChildNodes.Add(node);
            }
            this.tvMenu.Nodes.Add(root);
        }
    }

    //获取选择的员工姓名
    protected void tvMenu_SelectedNodeChanged(object sender, EventArgs e)
    {
        TreeNode tn = this.tvMenu.SelectedNode;
        if (tn.ChildNodes.Count==0)
        {
            this.txtPrincipalUser.Text = this.tvMenu.SelectedNode.Text;
        }
        else {
            //this.lblMessage.Text = "<script>alert('您选择的不是人员,请重新选择!')</script>";
            ScriptManager.RegisterStartupScript(this.tvMenu, this.GetType(), "", "alert('您选择的不是人员,请重新选择!')", true);
        }
        this.lblMessage.Text = "";
        this.divMenu.Visible = false;
    }

 


//判断操作类型
    protected void gvDeptInfo_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "modify")
        {
            Response.Redirect("SaveDepart.aspx?DepartId="+e.CommandArgument.ToString());
        }
        if (e.CommandName == "del")
        {
            int i = departInfoBLL.DeleteDepartInfo(int.Parse(e.CommandArgument.ToString()));
        }
        this.Bind();
    }