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

📄 cancelapplicateovertime.aspx.cs

📁 一个小型的人事管理系统
💻 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 + -