📄 performsummary.aspx.cs
字号:
using System;
using System.Configuration;
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.Performance
{
/// <summary>
/// PerformSummary 的摘要说明。
/// </summary>
public class PerformSummary : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label lblMessage;
protected System.Web.UI.WebControls.Label lblDept;
protected System.Web.UI.WebControls.DropDownList cmbDeptList;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.Panel pnlChooseDept;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.DropDownList cmbYear;
protected System.Web.UI.WebControls.Button btnSearch;
protected System.Web.UI.WebControls.Label lblDeptID;
protected System.Web.UI.WebControls.DataGrid grdResult;
protected System.Web.UI.WebControls.Panel pnlBody;
/// <summary>
/// 网页初始化时执行该方法。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if ( !IsPostBack )
{
//如果网页是第一次生成时,执行如下操作:
//设置界面控件的显示方式。
lblMessage.Visible = false;
pnlChooseDept.Visible = false;
int iYear, i, iStartYear;
//获取当前年份。
iYear = DateTime.Now.Year;
//从 Web.Config 文件中读取公司的起始年份。
iStartYear = int.Parse(ConfigurationSettings.AppSettings["StartYear"]);
//填充“设定年份”下拉框的内容:从当前年份到起始年份逐年添加。
cmbYear.Items.Clear();
for ( i = iYear; i>=iStartYear -1; i--)
{
cmbYear.Items.Add(i.ToString());
cmbYear.Items[cmbYear.Items.Count - 1].Value = i.ToString();
}
//设定下拉框的默认显示为当前年份。
cmbYear.SelectedIndex = 0;
Employee emp = new Employee();
int iEmpID;
//检查员工的登录信息是否丢失,是则显示出错信息。
if ( Session["EmployeeID"] == null )
{
lblMessage.Text = "登录信息丢失,请重新登录!";
lblMessage.Visible = true;
pnlBody.Visible = false;
return;
}
//获取保存在 Session 中的员工编号信息。
iEmpID = int.Parse ((string)(Session["EmployeeID"]));
//从数据库中获取员工的其他信息。
Employee.GetEmployeeInfo(iEmpID, emp);
//如果员工不是部门经理,则显示出错信息。
if ( !emp.IsManager )
{
lblMessage.Text = "对不起,该网页属经理专用,请退出!";
lblMessage.Visible = true;
pnlBody.Visible = false;
return;
}
//保存部门编号。
lblDeptID.Text = emp.DeptID.ToString();
//从数据库中获取总经理的员工编号。
int iCEOID = 0;
Employee.GetCEOInfo(ref iCEOID);
if ( iEmpID == iCEOID )
{
//如果登录用户为总经理,则执行如下操作:
//显示部门选择下拉框。
pnlChooseDept.Visible = true;
DataSet dsDept = new DataSet();
//从数据库中获取所有部门的列表。
DBUtils.Attendance.GetDeptList(ref dsDept);
//用部门列表填充部门选择下拉框。
cmbDeptList.DataSource = dsDept.Tables[0];
cmbDeptList.DataTextField = "DeptName";
cmbDeptList.DataValueField = "DeptID";
cmbDeptList.DataBind();
//默认情况下,下拉框选中第一个部门。
cmbDeptList.SelectedIndex = 0;
//保存选中部门的编号。
lblDeptID.Text = cmbDeptList.SelectedValue.ToString();
}
//通过调用 RrefeshPage 方法以 DataGrid 来显示部门会总部信息。
RefreshPage();
}
}
/// <summary>
/// 该方法根据当前年份和部门编号,从数据库中检索部门业绩汇总信息,并以 DataGrid 的形式显示。
/// </summary>
/// <param name="e"></param>
void RefreshPage()
{
DataSet dsResult = new DataSet();
int iDeptID, iYear;
//获取在网页中保存的部门编号信息。
iDeptID = int.Parse(lblDeptID.Text);
//获取用户选择的年份。
iYear = int.Parse(cmbYear.SelectedValue);
//根据年份和部门编号,从数据库中检索部门业绩汇总信息。
DBUtils.Performance.DeptSummary(iDeptID, iYear, dsResult);
//找到记录
grdResult.DataSource = dsResult.Tables[0];
grdResult.DataBind();
grdResult.SelectedIndex = -1;
grdResult.Visible = true;
lblMessage.Visible = false;
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.cmbDeptList.SelectedIndexChanged += new System.EventHandler(this.cmbDeptList_SelectedIndexChanged);
this.cmbYear.SelectedIndexChanged += new System.EventHandler(this.cmbYear_SelectedIndexChanged);
this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
/// <summary>
/// 当用户更改选中部门时,该方法更新已保存的部门编号。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void cmbDeptList_SelectedIndexChanged(object sender, System.EventArgs e)
{
lblDeptID.Text = cmbDeptList.SelectedValue;
}
private void cmbYear_SelectedIndexChanged(object sender, System.EventArgs e)
{
}
/// <summary>
/// 当用户单击“更新”按钮时,调用 RrefeshPage 方法以 DataGrid 来显示部门汇总信息。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSearch_Click(object sender, System.EventArgs e)
{
RefreshPage();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -