📄 deptmng.aspx.cs
字号:
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;
namespace Views.Car
{
/// <summary>
/// DeptMng 的摘要说明。
/// </summary>
public class DeptMng : Views.CarModule.CarPage
{
protected System.Web.UI.WebControls.LinkButton LinkButton1;
protected System.Web.UI.WebControls.LinkButton LinkButton2;
protected System.Web.UI.WebControls.LinkButton LinkButton3;
protected System.Web.UI.WebControls.TextBox txtNewDept;
protected System.Web.UI.WebControls.DataGrid dgDept;
protected System.Web.UI.WebControls.DataGrid dgUser;
private int m_iCurDeptID;
//
//页面加载事件代理
//本加载事件初始化当前的部门信息,缺省为-1(没有部门)
//
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
try
{
this.m_iCurDeptID=(int)this.ViewState["CurDeptID"];
}
catch
{
this.m_iCurDeptID=-1;
}
}
//
//页面预写事件代理
//本预写事件绑定部门数据列表和用户数据列表,同时在绑定部门数据后绑定用户数据前,根据部门数据的选择状态设置当前部门ID
//本事件同时保存当前部门数据信息到页面视图状态
//
private void Page_PreRender(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!this.theUserInfo.IsAdmin)
{
this.Alert("对不起,您不是管理员,不能进行系统管理。");
this.WriteJS("window.location='/';");
return;
}
System.Data.DataView dvTmp;
dvTmp=this.DB.DeptData.DefaultView;
this.dgDept.DataSource=dvTmp;
this.dgDept.DataKeyField="DeptID";
this.dgDept.DataBind();
if(this.dgDept.SelectedIndex>=0)
this.m_iCurDeptID=(int)this.dgDept.DataKeys[this.dgDept.SelectedIndex];
dvTmp=this.DB.UsersData.DefaultView;
this.dgUser.DataSource=dvTmp;
this.dgUser.DataKeyField="UserID";
this.dgUser.DataBind();
this.ViewState["CurDeptID"]=this.m_iCurDeptID;
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.dgDept.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgDept_ItemCommand);
this.LinkButton3.Command += new System.Web.UI.WebControls.CommandEventHandler(this.btnDept_Command);
this.LinkButton2.Command += new System.Web.UI.WebControls.CommandEventHandler(this.btnDept_Command);
this.LinkButton1.Command += new System.Web.UI.WebControls.CommandEventHandler(this.btnDept_Command);
this.Load += new System.EventHandler(this.Page_Load);
this.PreRender += new System.EventHandler(this.Page_PreRender);
}
#endregion
//
//函数:btnDept_Command
//功能:部门数据处理命令(添加新部门、更新部门数据、更新用户部门数据)处理函数
//说明:在更新部门数据时,如果是删除部门,则检测部门是否有用户,只有没有用户的部门才可以删除
//
private void btnDept_Command(object sender, System.Web.UI.WebControls.CommandEventArgs e)
{
int iCnt;
System.Web.UI.WebControls.DataGridItem dgiTmp;
string strDeptKeys="";
switch(e.CommandName)
{
//添加新部门
case "ADDNEW":
string strDeptName=this.txtNewDept.Text.Trim();
if(strDeptName!="")
this.DB.NewDept(strDeptName);
else
this.Alert("请输入部门名称!");
this.Response.Write(this.DB.ErrMsg);
break;
//更新部门数据
case "UPDATEDEPT":
iCnt=this.dgDept.Items.Count;
for(int i=0;i<iCnt;i++)
{
dgiTmp=this.dgDept.Items[i];
if(((System.Web.UI.WebControls.CheckBox)dgiTmp.FindControl("cbDelDept")).Checked&&this.DB.GetRSCount("Users","DeptID="+this.dgDept.DataKeys[i].ToString())==0)
strDeptKeys+=","+this.dgDept.DataKeys[i].ToString();
else
this.DB.UpdateDept(this.dgDept.DataKeys[i].ToString(),((System.Web.UI.WebControls.TextBox)dgiTmp.FindControl("txtDeptName")).Text.Trim());
}
if(strDeptKeys.Length>0)
this.DB.UpdateDept(strDeptKeys.Substring(1));
this.dgDept.SelectedIndex=-1;
break;
//更新用户部门数据
case "UPDATEUSER":
iCnt=this.dgUser.Items.Count;
for(int i=0;i<iCnt;i++)
{
dgiTmp=this.dgUser.Items[i];
if(((System.Web.UI.WebControls.CheckBox)dgiTmp.FindControl("cbIsCurDept")).Checked)
strDeptKeys+=","+this.dgUser.DataKeys[i].ToString();
}
this.DB.UpdateUserDept(strDeptKeys,this.m_iCurDeptID);
break;
default:
break;
}
}
//
//函数:dgDept_ItemCommand
//功能:DataGrid(部门数据)项目命令处理
//说明:根据命令名(USERLIST),设置当前的部门选择状态
//
private void dgDept_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
switch(e.CommandName)
{
case "USERSLIST":
this.dgDept.SelectedIndex=e.Item.ItemIndex;
break;
default:
break;
}
}
//
//属性:CurDeptID
//访问:只读字符串
//作用:返回当前部门ID
//
protected int CurDeptID
{
get{return this.m_iCurDeptID;}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -