//递归函数 public string GetNextDept(string ls_deptid) { string ls_retrun = ""; //根据部门ID得到下一级的部门 HyoaClass.Hyoa_dept Hyoa_dept = new HyoaClass.Hyoa_dept(); DataTable dt = Hyoa_dept.GetSubDeptsOrderbysort(ls_deptid); if (dt.Rows.Count > 0) { for (var i = 0; i < dt.Rows.Count; i++) { //判断是否有子部门 DataTable dtsub = Hyoa_dept.GetSubDeptsOrderbysort(dt.Rows[i]["hy_deptid"].ToString()); if (dtsub.Rows.Count > 0) { ls_retrun += "<dd class=\"folderClose\">"; ls_retrun += "<a href=\"/system/list_user.aspx?deptid=" + dt.Rows[i]["hy_deptid"].ToString() + "\" target=\"RightIframeWin\">" + dt.Rows[i]["hy_deptname"].ToString(); ls_retrun += "</a><dl>"; //输出子部门 ls_retrun += GetNextDept(dt.Rows[i]["hy_deptid"].ToString()); ls_retrun += "</dl>"; ls_retrun += "</dd>"; } else { //没有子部门 ls_retrun += "<dt>"; ls_retrun += "<a href=\"/system/list_user.aspx?deptid=" + dt.Rows[i]["hy_deptid"].ToString() + "\" target=\"RightIframeWin\">" + dt.Rows[i]["hy_deptname"].ToString(); ls_retrun += "</a></dt>"; } } } return ls_retrun; }
//得到下一级部门的信息 private void GetNextDept(string pis_DeptId, string ls_users) { //得到二级部门 HyoaClass.Hyoa_dept Hyoa_dept = new HyoaClass.Hyoa_dept(); DataTable dtdept = Hyoa_dept.GetSubDeptsOrderbysort(pis_DeptId); if (dtdept.Rows.Count > 0) { for (var i = 0; i < dtdept.Rows.Count; i++) { //输出二级部门头部 Response.Write("<dd class=\"folderClose\">"); Response.Write("<input type=\"checkbox\" name=\"Dept" + dtdept.Rows[i]["hy_deptid"].ToString() + "\" value=\"" + dtdept.Rows[i]["hy_deptid"].ToString() + "\">"); Response.Write(dtdept.Rows[i]["hy_deptname"].ToString()); Response.Write("<dl>"); //有下一级部门 if (Hyoa_dept.isHaveSubDept(dtdept.Rows[i]["hy_deptid"].ToString()) == true) { GetNextDept(dtdept.Rows[i]["hy_deptid"].ToString(), ls_users); } //输出二级部门的人员 HyoaClass.Hyoa_user Hyoa_user = new HyoaClass.Hyoa_user(); DataTable dtuser = Hyoa_user.GetUsers(dtdept.Rows[i]["hy_deptid"].ToString()); if (dtuser.Rows.Count > 0) { for (var j = 0; j < dtuser.Rows.Count; j++) { //判断已选中 if (ls_users.Contains("," + dtuser.Rows[j]["hy_userid"].ToString() + ",")) { Response.Write("<dt>"); Response.Write("<input type=\"checkbox\" checked=\"checked\" name=\"User" + dtuser.Rows[j]["hy_userid"].ToString() + "_subuser\" value=\""); Response.Write(dtuser.Rows[j]["hy_userid"].ToString() + "|" + dtuser.Rows[j]["hy_username"].ToString() + "\" text=\"" + dtuser.Rows[j]["hy_username"].ToString() + "\">"); Response.Write(dtuser.Rows[j]["hy_username"].ToString()); Response.Write("</dt>"); } else { Response.Write("<dt>"); Response.Write("<input type=\"checkbox\" name=\"User" + dtuser.Rows[j]["hy_userid"].ToString() + "_subuser\" value=\""); Response.Write(dtuser.Rows[j]["hy_userid"].ToString() + "|" + dtuser.Rows[j]["hy_username"].ToString() + "\" text=\"" + dtuser.Rows[j]["hy_username"].ToString() + "\">"); Response.Write(dtuser.Rows[j]["hy_username"].ToString()); Response.Write("</dt>"); } } } //输出二级部门尾部 Response.Write("</dl>"); Response.Write("</dd>"); } } }
private void DataPlay(int PageNo) { //判断当前用户是否有新建删除权限 HyoaClass.Hyoa_global Hyoa_global = new HyoaClass.Hyoa_global(); if (Hyoa_global.isHaveRole("Role9999", this.Session["hyuid"].ToString())) { this.isrole.Value = "1"; this.tdnewdoc.Visible = true; //新建 this.tddeldoc.Visible = true; //删除 } else { this.isrole.Value = "0"; this.tdnewdoc.Visible = false; //新建 this.tddeldoc.Visible = false; //删除 } //如果depid等于空,则返回按钮隐藏 if (this.Request.QueryString["deptid"] == null || this.Request.QueryString["deptid"] == "") { this.btnreturnback.Visible = false; } //得到当前页号 this.curpage.Text = PageNo.ToString(); HyoaClass.Hyoa_dept Hyoa_dept = new HyoaClass.Hyoa_dept(); DataTable dt; if (this.hy_deptname.Value != "") { //先判断是不是查询的,如果是查询的话,就不用管是哪一级了。全部列出来 Hyoa_dept.hy_deptname = this.hy_deptname.Value; dt = Hyoa_dept.GetdeptsBydeptname(); } else { if (this.txtdeptid.Value == "") { dt = Hyoa_dept.GetFirstlevdepts(); } else { dt = Hyoa_dept.GetSubDeptsOrderbysort(this.txtdeptid.Value); } } DataTable tempTable = dt.Clone(); for (int i = (PageNo - 1) * System.Int32.Parse(PageSize.Text); i < PageNo * System.Int32.Parse(PageSize.Text); i++) { if (i > dt.Rows.Count - 1) break; DataRow dr = tempTable.NewRow(); for (int j = 0; j < dt.Columns.Count; j++) { dr[dt.Columns[j].ColumnName] = dt.Rows[i][j]; } tempTable.Rows.Add(dr); } int TotalRecord = dt.Rows.Count; this.sumts.Text = TotalRecord.ToString(); this.sumts2.Text = TotalRecord.ToString(); this.ShowTotalRecord.Text = TotalRecord.ToString(); //计算及显示总页数 int TotalPage; if (TotalRecord < System.Int32.Parse(PageSize.Text)) { TotalPage = 1; } else { if (TotalRecord % System.Int32.Parse(PageSize.Text) != 0) { TotalPage = TotalRecord / System.Int32.Parse(PageSize.Text) + 1; } else { TotalPage = TotalRecord / System.Int32.Parse(PageSize.Text); } } this.ShowTotalPage.Text = TotalPage.ToString(); this.rptlist.DataSource = tempTable; this.rptlist.DataBind(); dt.Clear(); }
//得到下一级部门的信息 private void GetNextDept(string pis_DeptId, string ls_users) { //得到二级部门 HyoaClass.Hyoa_dept Hyoa_dept = new HyoaClass.Hyoa_dept(); DataTable dtdept = Hyoa_dept.GetSubDeptsOrderbysort(pis_DeptId); if (dtdept.Rows.Count > 0) { for (var i = 0; i < dtdept.Rows.Count; i++) { //有下一级部门 if (Hyoa_dept.isHaveSubDept(dtdept.Rows[i]["hy_deptid"].ToString()) == true) { //输出二级部门头部 Response.Write("<dd class=\"folderClose\">"); Response.Write("<input type=\"checkbox\" name=\"Dept" + dtdept.Rows[i]["hy_deptid"].ToString() + "\" value=\"" + dtdept.Rows[i]["hy_deptid"].ToString() + "\" id=\"" + dtdept.Rows[i]["hy_deptname"].ToString() + "\">"); Response.Write(dtdept.Rows[i]["hy_deptname"].ToString()); Response.Write("<dl>"); GetNextDept(dtdept.Rows[i]["hy_deptid"].ToString(), ls_users); //输出二级部门尾部 Response.Write("</dl>"); Response.Write("</dd>"); } else { //输出二级部门头部 Response.Write("<dt>"); Response.Write("<input type=\"checkbox\" name=\"Dept" + dtdept.Rows[i]["hy_deptid"].ToString() + "\" value=\"" + dtdept.Rows[i]["hy_deptid"].ToString() + "\" id=\"" + dtdept.Rows[i]["hy_deptname"].ToString() + "\">"); Response.Write(dtdept.Rows[i]["hy_deptname"].ToString()); //输出二级部门尾部 Response.Write("</dt>"); } } } }
//得到下一级部门的信息 private void GetNextDept(string pis_DeptId, string pis_DeptName, string pi_num, string pis_name) { //循环二级部门 HyoaClass.Hyoa_dept Hyoa_dept = new HyoaClass.Hyoa_dept(); DataTable dtdept = Hyoa_dept.GetSubDeptsOrderbysort(pis_DeptId); if (dtdept.Rows.Count > 0) { for (var i = 0; i < dtdept.Rows.Count; i++) { //判断是否有三级部门 if (Hyoa_dept.isHaveSubDept(dtdept.Rows[i]["hy_deptid"].ToString()) == true) { //存在三级部门 Response.Write("<dd class=\"folderClose\">"); Response.Write("<input type=\"checkbox\" name=\"Dept" + dtdept.Rows[i]["hy_deptid"].ToString() + "\" value=\"" + dtdept.Rows[i]["hy_deptid"].ToString() + "\" align=\"left\" onclick=\"SelDept(this.name)\"> "); Response.Write(dtdept.Rows[i]["hy_deptname"].ToString()); Response.Write("<dl>"); //显示三级部门以及部门人员 GetNextDept(dtdept.Rows[i]["hy_deptid"].ToString(), dtdept.Rows[i]["hy_deptname"].ToString(), i.ToString() + i.ToString() + i.ToString(), pis_name + "_sub" + i.ToString()); Response.Write("</dl>"); Response.Write("</dd>"); } else { //不存在子部门 Response.Write("<dd class=\"folderClose\">"); Response.Write("<input type=\"checkbox\" name=\""+pis_name+"_sub"+i.ToString()+"\" value=\"" + dtdept.Rows[i]["hy_deptid"].ToString()+"\" align=\"left\" onclick=\"SelDept(this.name)\"> "); Response.Write(dtdept.Rows[i]["hy_deptname"].ToString()); Response.Write("<dl>"); //输出当前部门下的人员 HyoaClass.Hyoa_user Hyoa_user = new HyoaClass.Hyoa_user(); DataTable dtuser = Hyoa_user.GetUsers(dtdept.Rows[i]["hy_deptid"].ToString()); if (dtuser.Rows.Count > 0) { for (var j = 0; j < dtuser.Rows.Count; j++) { Response.Write("<dt>"); Response.Write("<input type=\"checkbox\" name=\""+pis_name+"_subuser"+j.ToString()+"\" value=\""); Response.Write(dtuser.Rows[j]["hy_userid"].ToString() + "\" text=\"" + dtuser.Rows[j]["hy_username"].ToString() + "\" align=\"left\"> "); Response.Write(dtuser.Rows[j]["hy_username"].ToString()); Response.Write("</dt>"); } } Response.Write("</dl>"); Response.Write("</dd>"); } } } //显示当前部门下的人员 HyoaClass.Hyoa_user Hyoa_user_curdept = new HyoaClass.Hyoa_user(); DataTable dtuser_curdept = Hyoa_user_curdept.GetUsers(pis_DeptId); if (dtuser_curdept.Rows.Count > 0) { for (var k = 0; k < dtuser_curdept.Rows.Count; k++) { Response.Write("<dt>"); Response.Write("<input type=\"checkbox\" name=\"" + pis_name + "_sub_subuser" + k.ToString() + "\" value=\""); Response.Write(dtuser_curdept.Rows[k]["hy_userid"].ToString() + "\" text=\"" + dtuser_curdept.Rows[k]["hy_username"].ToString() + "\" align=\"left\"> "); Response.Write(dtuser_curdept.Rows[k]["hy_username"].ToString()); Response.Write("</dt>"); } } }