⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addperson.aspx.cs

📁 很不错的公文流转系统
💻 CS
字号:
/*********************************************
 * 设计人:吴高发     
 * 日期:2003-12-4
 * v1.0 
 * *******************************************/

using System; 
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using OI.DatabaseOper ;
using Microsoft.Web.UI.WebControls;

namespace OI.Stream
{
	/// <summary>
	/// AddPerson 的摘要说明。
	/// </summary>
	public class AddPerson :System.Web .UI .Page 
	{
		protected System.Web.UI.WebControls.ListBox havePerson;
		protected System.Web.UI.WebControls.ListBox SelectedPerson;
		protected System.Web.UI.WebControls.Button ButtonAdd;
		protected System.Web.UI.WebControls.Button ButtonRemove;
		protected System.Web.UI.WebControls.ImageButton ImageButton1;
		protected Microsoft.Web.UI.WebControls.TreeView TreeView_Department;
		private DatabaseConnect dc=new DatabaseConnect ();
//	    bool poswer=true; 
		private void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面			
			
			if(!this.IsPostBack )
			{
				try
				{
					CreatDataSource();
					LoadUser();
					this.InitPage ();
				}
				catch(Exception er)
				{
					Response.Write (er.Message );
					Response.End ();
				}
			}
			if (!Page.IsPostBack )
			{
				try //pf所加,选择用户时应判断其拥有的权限.
				{
					
					string power=Request.Params["power"];
					
					switch(power)
					{
						case "2":
							ViewState["power"]="公文起草";
							break;
						case "3":
							ViewState["power"]="公文校核";
							break;
						case "4":
							ViewState["power"]="签发管理";
							break;
						case "7":
							ViewState["power"]="发文办理";
							break;
                        case "5":
							ViewState["power"]="公文中转";
							break;
						default :
							ViewState["power"]=power;
							break;

					}
				
               
				}
				catch
				{
				}
				try
				{
					ViewState["type"]=Request.Params["type"];
				}
				catch
				{
				}
			}
		}
		private void InitPage()
		{
			havePerson.SelectedIndex =-1;
			SelectedPerson.SelectedIndex =-1;		
		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.TreeView_Department.SelectedIndexChange += new Microsoft.Web.UI.WebControls.SelectEventHandler(this.TreeView_Department_SelectedIndexChange);
			this.ButtonAdd.Click += new System.EventHandler(this.ButtonAdd_Click);
			this.ButtonRemove.Click += new System.EventHandler(this.ButtonRemove_Click);
			this.ImageButton1.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton1_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		private void CreatDataSource()
		{
			TreeView_Department.Nodes.Clear();
			TreeNode Node=new TreeNode();
			string sql= "SELECT DepartmentId,DepartmentName,IsPublic FROM departments WHERE ParentDepartmentID=0 order by displayorder";
			DataSet ds=new DataSet();
			ds=dc.getBinding(sql,"t");
			foreach(DataRow dr in ds.Tables["t"].Rows)
			{
				TreeNode node=new TreeNode();
				node.ID=dr["DepartmentId"].ToString();
				node.Text=dr["DepartmentName"].ToString();
				if(Convert.ToBoolean(dr["IsPublic"]))
				{
					CreatDataSource(Convert.ToInt32( dr["DepartmentId"].ToString()), ref node);
					TreeView_Department.Nodes.Add(node);

				}
				
			}
		
     

		}
		private void CreatDataSource(int parentid, ref TreeNode Node)
		{
			string sql= "SELECT DepartmentId,DepartmentName,IsPublic FROM departments WHERE ParentDepartmentID="+parentid +" order by displayorder ";
			DataSet ds=new DataSet();
			ds=dc.getBinding (sql,"t");
			foreach (DataRow dr in ds.Tables["t"].Rows)
			{
				TreeNode node=new TreeNode();
				node.ID=dr["DepartmentId"].ToString();
				node.Text=dr["DepartmentName"].ToString();
				if(Convert.ToBoolean(dr["IsPublic"]))
				{
                      CreatDataSource(Convert.ToInt32( dr["DepartmentId"].ToString()), ref node);
                      Node.Nodes.Add(node);
				}
			}
		}

		private void Department_SelectedIndexChanged(object sender, System.EventArgs e)
		{
		
		}

		private void LinkButton1_Click(object sender, System.EventArgs e)
		{
			int departmentID= Convert.ToInt32(TreeView_Department.GetNodeFromIndex(TreeView_Department.SelectedNodeIndex).ID);
			string sql="SELECT COUNT(UserID) AS nCount FROM Accounts_Users WHERE DepartmentID='"+departmentID+"'";
			ArrayList al1=dc.getData (sql);
			if(al1.Count >0)
			{
				if(int.Parse (al1[0].ToString ())<=0)
				{
//					Page.RegisterStartupScript ("","<script>alert('该部门没有人员')</script>");
//					int nItem=havePerson.Items.Count;
//					for(int i=0;i< nItem;i++)
//						havePerson.Items .RemoveAt (0);
                       havePerson.Items .Clear ();
					return;
				}
			}
			sql="SELECT UserID,UserName FROM Accounts_Users WHERE DepartmentID='"+departmentID+"' order by DisplayOrder ";
			DataSet ds=dc.getBinding (sql,"users");			
			havePerson.DataSource =ds.Tables ["users"].DefaultView ;
			havePerson.DataTextField ="UserName";
			havePerson.DataValueField ="UserID";			
			havePerson.DataBind ();
		}

		private void ButtonAdd_Click(object sender, System.EventArgs e)
		{			
			if(havePerson.SelectedIndex <0)
			{
				Page.RegisterStartupScript ("","<script>alert('请选择要增加的人员')<script>");
				return;
			}
			/*
			DataTable dt=new DataTable ();
			DataColumn dc=new DataColumn ();
			DataRow dr;
			dc.ColumnName ="UserName";
			dt.Columns .Add (dc);
			dc=new DataColumn ();
			dc.ColumnName ="UserID";
			dt.Columns .Add (dc);*/
			foreach(ListItem li in havePerson.Items )
			{
				if(li.Selected )
				{
					/*
					dr=dt.NewRow ();
					dr["UserName"]=li.Text ;
					dr["UserID"]=li.Value ;
					dt.Rows .Add (dr);
					*/
					ListItem lItem=SelectedPerson.Items .FindByText (li.Text );
					if(lItem==null)
					{
						ListItem item=new ListItem (li.Text ,li.Value );
						SelectedPerson.Items .Add (item);
					}
					
				}
			}
			havePerson.SelectedIndex =-1;
			/*
			SelectedPerson.DataSource =dt;
			SelectedPerson.DataTextField ="UserName";
			SelectedPerson.DataValueField ="UserID";
			SelectedPerson.DataBind ();
			*/
		}

		private void ButtonRemove_Click(object sender, System.EventArgs e)
		{
		

			ArrayList al=new ArrayList();
			foreach(ListItem li in SelectedPerson.Items )
			{
				if(li.Selected)
					al.Add(li.Text);
			}
			for(int i=0;i<al.Count; i++)
			{
				SelectedPerson.Items.Remove(SelectedPerson.Items .FindByText(al[i].ToString()));
			}
			SelectedPerson.SelectedIndex =-1;
		}

		private void ButtonOK_Click(object sender, System.EventArgs e)
		{			
				
			
		}


		private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			
//			string strText="";
//			string strValue="";
			if(SelectedPerson.Items.Count==0)
			{
				Page.RegisterStartupScript("","<script>alert('右边列表框中没有人员');</script>");
				return;
			}
			
			if (ViewState["type"] ==null) //选择人方式为:只能选一人.
			{
				SelectSingle(); //选择一人
			}
			else
			{
				SelectMult();//选择多人
			}
		}
		/// <summary>
		/// 选择单人
		/// </summary>
		private void SelectSingle()
		{
			string strText,strValue;
			if(SelectedPerson.Items.Count>1 )
			{
				Page.RegisterStartupScript("","<script>alert('选择人数不能多于一人');</script>");
				return;
			}
			else
			{
			
				strText=SelectedPerson.Items [0].Text ;
				strValue=SelectedPerson.Items [0].Value ;
				if (ViewState["power"] != null) //pf 3.1修改这儿,power不为空,要验证权限
				{
					try
					{
						if (!OI.cs.existPoser.ExistPower(strValue, ViewState["power"].ToString () ))
						{
							Page.RegisterStartupScript ("","<script>alert('"+strText +"没有"+ViewState["power"].ToString ()+"的权限,请联系管理员!')</script>");
							return ;
						}
					}
					catch (Exception er)
					{
						Response.Write ( er.Message );
						Response.End ();
					}
				}
			   
			}
            
			string javascript="<script>opener.Form1.Handers.value=\""+ strText +"\";opener.Form1.HandersID.value=\""+ strValue +"\";window.close();</script>";
			Page.RegisterStartupScript ("",javascript);		
		}
		/// <summary>
		/// 选择多人
		/// </summary>
		private void SelectMult()
		{
			
			bool isHave=false;
			string strText="";
			string strValue="";
			for(int i=0;i<SelectedPerson.Items .Count ;i++)
			{
				if(i==0)
				{
					isHave=true;
					if (ViewState["power"] != null) //pf 3.1修改这儿,power不为空,要验证权限
					{
						try
						{
							if (!OI.cs.existPoser.ExistPower(SelectedPerson.Items [i].Value, ViewState["power"].ToString () ))
							{
								Page.RegisterStartupScript ("","<script>alert('"+SelectedPerson.SelectedItem.Text  +"没有"+ViewState["power"].ToString ()+"的权限,请联系管理员!')</script>");
								return ;
							}
						}
						catch (Exception er)
						{
							Response.Write ( er.Message );
							Response.End ();
						}
					}
					strText=SelectedPerson.Items [i].Text ;
					strValue=SelectedPerson.Items [i].Value ;


				}
				else
				{
					if (ViewState["power"] != null) //pf 3.1修改这儿,power不为空,要验证权限
					{
						try
						{
							if (!OI.cs.existPoser.ExistPower(SelectedPerson.Items [i].Value, ViewState["power"].ToString () ))
							{
								Page.RegisterStartupScript ("","<script>alert('"+SelectedPerson.Items [i].Text  +"没有"+ViewState["power"].ToString ()+"的权限,请联系管理员!')</script>");
								return ;
							}
						}
						catch (Exception er)
						{
							Response.Write ( er.Message );
							Response.End ();
						}
					}
					strText+=","+SelectedPerson.Items [i].Text ;
					strValue+=","+SelectedPerson.Items [i].Value ;
				}
					
			}
			if(!isHave)
			{
				Page.RegisterStartupScript ("","<script>alert('右边列表框中没有人员')</script>");
				return;
			}
			string javascript="<script>opener.Form1.Handers.value=\""+ strText +"\";opener.Form1.HandersID.value=\""+ strValue +"\";window.close();</script>";
			Page.RegisterStartupScript ("",javascript);	
			   
	
         
		}
		private void TreeView_Department_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
		{
			TreeNode node = TreeView_Department.GetNodeFromIndex(TreeView_Department.SelectedNodeIndex);
            string sql="SELECT UserID,UserName FROM Accounts_Users WHERE DepartmentID="+node.ID +" order by displayorder";
			DataSet ds=dc.getBinding (sql,"users");			
			havePerson.DataSource =ds.Tables ["users"].DefaultView ;
			havePerson.DataTextField ="UserName";
			havePerson.DataValueField ="UserID";			
			havePerson.DataBind ();
		}
		/// <summary>
		/// 初始化头节点部门人员信息
		/// </summary>
		private void LoadUser()
		{
			int departmentid=GetFirstNode();
			string sql="SELECT UserID,UserName FROM Accounts_Users WHERE DepartmentID="+departmentid +" order by DisplayOrder";
			DataSet ds=dc.getBinding (sql,"users");			
			havePerson.DataSource =ds.Tables ["users"].DefaultView ;
			havePerson.DataTextField ="UserName";
			havePerson.DataValueField ="UserID";			
			havePerson.DataBind ();
		}
		/// <summary>
		///获取头节点部门ID
		/// </summary>
		/// <returns></returns>
		private int GetFirstNode()
		{
			string sql= "SELECT DepartmentId,DepartmentName,IsPublic FROM departments WHERE ParentDepartmentID=0 order by displayorder";
			return Convert.ToInt32( dc.GetObjectBySql(sql));
		}
			
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -