📄 cancelapplicateovertime.aspx.cs
字号:
using System;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class CancelApplicateOvertime : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
GridViewOvertimeSubmit.DataBind();
if (GridViewOvertimeSubmit.Rows.Count == 0)
{ //没有加班申请时
NoCancel.Visible = true;
NoCancel.Text = "对不起,没有可取消的记录";
ShowReason.Visible = false;
ShowApprover.Visible = false;
}
else
{
NoCancel.Visible = false;
ShowReason.Visible = true;
ShowApprover.Visible = true;
}
}
protected void CancelAction(string OvertimeID)
{ //取消加班申请,注意是做一个更新操作
String strconn = System.Configuration.ConfigurationManager.AppSettings["SQLCONNECTION"];
SqlConnection myconn = new SqlConnection(strconn);
String strsql = "UPDATE tblOvertime SET Status ='已取消' WHERE OvertimeID = '" + OvertimeID + "'";
SqlCommand mycmd = new SqlCommand(strsql, myconn);
myconn.Open();
mycmd.ExecuteNonQuery();
myconn.Close();
}
protected void ShowMore(string OvertimeID)
{ //得到一条加班申请的审批者和加班理由信息
String strconn = System.Configuration.ConfigurationManager.AppSettings["SQLCONNECTION"];
SqlConnection myconn = new SqlConnection(strconn);
String strsql = "SELECT tblEmployee.Name,tblOvertime.Reason FROM tblOvertime" +
" RIGHT JOIN tblEmployee ON tblOvertime.ApproverID =tblEmployee.EmployeeID" +
" WHERE OvertimeID = @OvertimeID AND Status= @Status";
//相当复杂的SQL语句,中间用到了外键操作
//将tblOvertime表的ApproverID和tblEmployee表的EmployeeID联系在一起
//目的是求得在tblOvertime表的ApproverID对应的“姓名”
SqlCommand mycmd = new SqlCommand(strsql, myconn);
mycmd.Parameters.Add(new SqlParameter("@OvertimeID", OvertimeID));
mycmd.Parameters.Add(new SqlParameter("@Status", "已提交"));
myconn.Open();
SqlDataReader mydr = mycmd.ExecuteReader();
while (mydr.Read())
{
ShowApprover.Text = "审批者:"+mydr["Name"].ToString();
ShowReason.Text = "加班理由:"+mydr["Reason"].ToString();
}
myconn.Close();
}
protected void GridViewOvertimeSubmit_RowCommand(object sender, GridViewCommandEventArgs e)
{ //根据选择GridView不同格子,产生不同的事件
if (e.CommandName == "ShowMore")
ShowMore(e.CommandArgument.ToString());
if (e.CommandName == "Cancel")
{
CancelAction(e.CommandArgument.ToString());
if (!Page.IsPostBack)
GridViewOvertimeSubmit.DataBind();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -