📄 addperson.aspx.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 + -