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

📄 cancelreq.aspx.cs

📁 该管理系统的主要功能是管理员工资料、管理员工考勤、计算员工薪资和业绩评定等。大部分涉及对敏感数据修改的工作都仅由人事部完成
💻 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;
using DBUtils;

namespace BlueHill.SubmitLeave
{
	/// <summary>
	/// CancelReq_aspx 的摘要说明。
	/// </summary>
	public class CancelReq_aspx : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Panel pnlDetail;
		protected System.Web.UI.WebControls.Panel pnlResult;
		protected System.Web.UI.WebControls.Panel pnlMsg;
		protected System.Web.UI.WebControls.Label lblApproverName;
		protected System.Web.UI.WebControls.Label lblReason;
		protected System.Web.UI.WebControls.DataGrid grdResult;
		protected System.Web.UI.WebControls.Label lblCancel;
		protected System.Web.UI.WebControls.Label lblLeaveID;
		protected System.Web.UI.WebControls.Button btnNO;
		protected System.Web.UI.WebControls.Button btnYes;
		protected System.Web.UI.WebControls.Label lblMessage;
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面
			//设置界面控件的显示方式,并向数据库中检索该用户已提交还未审批的请假记录
			if(!this.Page.IsPostBack)
			{
				this.BindUI();
			}
		}


		/// <summary>
		/// 初始化页面
		/// </summary>
		private void BindUI()
		{
			//获取当前登录者的编号
			int iEmpID = Convert.ToInt32(Session["EmployeeID"]);

			//创建一个 DataSet 对象用来存储从数据库中检索该用户已提交还未审批的请假记录
			DataSet dsResult = new DataSet();
			int iDBAccess = DBUtils.SubmitLvReq.QuerySubmittedReq(iEmpID,ref dsResult);

			if(iDBAccess == (int)DBResult.Success)
			{
				//数据库访问成功

				//判断数据库中是否有满足条件的记录,没有则显示出错信息,有则将其显示出来
				if(dsResult.Tables[0].Rows.Count > 0)
				{
					//数据库中有满足条件的记录,将记录信息显示出来
					//设置数据源,绑定数据
					grdResult.DataSource = dsResult.Tables[0].DefaultView;
					this.grdResult.DataBind();
					this.pnlResult.Visible = true;
					this.grdResult.Visible = true;

					//错误提示信息,请假详细隐藏
					this.pnlDetail.Visible = false;
					this.pnlMsg.Visible = false;
				}
				else
				{
					//没有记录,显示出错信息
					this.pnlMsg.Visible = true;
					this.lblMessage.Visible = true;
						
					//将请假记录,请假详细隐藏
					this.pnlResult.Visible = false;
					this.pnlDetail.Visible = false;
				}
			}
			else
			{
				//数据库访问失败
				this.pnlDetail.Visible = false;
				this.pnlResult.Visible = false;
				//显示错误提示
				this.pnlMsg.Visible = true;
				this.lblMessage.Visible = true;
				this.lblMessage.Text = "数据库访问失败";
			}
		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.btnYes.Click += new System.EventHandler(this.btnYes_Click);
			this.btnNO.Click += new System.EventHandler(this.btnNO_Click);
			this.grdResult.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.grdResult_ItemCommand);
			this.grdResult.SelectedIndexChanged += new System.EventHandler(this.grdResult_SelectedIndexChanged);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		private void grdResult_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
			//获取命令名称,用来判断用户是单击了"详细情况",还是单击了"取消"
			string cmdName = e.CommandName ;
		    
			//获取单击行 的请假编号
			string strLeaveID = e.Item.Cells[0].Text.Trim().ToString();
			this.lblLeaveID.Text = strLeaveID;

			//获取单击行 的审批者
			string strApproverName = e.Item.Cells[1].Text.Trim().ToString();
			this.lblApproverName.Text = strApproverName;

			//获取单击行 的请假详细情况
			string strReason = e.Item.Cells[2].Text.Trim().ToString();
			this.lblReason.Text = strReason;

			if(cmdName == "Select")
			{
				//单击"详细情况",显示“请假编号”、“审批者”、“请假事由”
				this.pnlDetail.Visible = true;
				this.lblLeaveID.Visible = true;
				this.lblApproverName.Visible = true;
				this.lblReason.Visible = true;

				//隐藏“是否取消请假”、“是”、“否”
				this.lblCancel.Visible = false;
				this.btnYes.Visible = false;
				this.btnNO.Visible = false;
			}
			else
			{
				//单击"取消",显示“请假编号”、“审批者”、“请假事由”、“是否取消请假”、“是”、“否”
				this.pnlDetail.Visible = true;
				this.lblLeaveID.Visible = true;
				this.lblApproverName.Visible = true;
				this.lblReason.Visible = true;

				this.lblCancel.Visible = true;
				this.btnYes.Visible = true;
				this.btnNO.Visible = true;
			}
		}


		//不取消请假
		private void btnNO_Click(object sender, System.EventArgs e)
		{
			this.pnlResult.Visible = true;
			this.pnlDetail.Visible = false;
			this.pnlMsg.Visible = false;
		}



		//取消请假
		private void btnYes_Click(object sender, System.EventArgs e)
		{
			//获取要取消的请假编号
			int iLeaveID = Convert.ToInt32(this.lblLeaveID.Text.Trim());

			//执行取消请假申请操作
            int iSuccess = DBUtils.SubmitLvReq.CancelLeaveReq(iLeaveID);

			if(iSuccess == (int)DBResult.Success)
			{
				//取消操作成功
				Response.Write("<script>alert('已经成功取消一条请假申请记录')</script>");
				
				//重新初使化页面
				this.BindUI();
			}
			else
			{
				//取消操作失败
				Response.Write("<script>alert('取消请假记录操作失败,请重试')</script>");
			}
		}

		private void grdResult_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			//当用户更改 DataGrid 中的选中记录时,该方法隐藏确定取消区域和请假详细信息区域
		}
	}
}

⌨️ 快捷键说明

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