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

📄 searchdata.aspx.cs

📁 一套OA系统,使用SQL Server为后台数据库ASP.NET C#语言开发
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
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 UDS.Components;

namespace UDS.SubModule.WorkAttendance
{
	/// <summary>
	/// SearchData 的摘要说明。
	/// </summary>
	public class SearchData : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.TextBox txtbegintime;
		protected System.Web.UI.WebControls.TextBox txtendtime;
		protected System.Web.UI.WebControls.DropDownList ddlsearchbound;
		protected System.Web.UI.WebControls.ListBox lbstaffs;
		protected System.Web.UI.WebControls.CompareValidator cvdate;
		protected System.Web.UI.WebControls.Button btnsearch;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
		protected System.Web.UI.WebControls.ValidationSummary vs1;
		protected System.Web.UI.WebControls.DataGrid AttendanceGrid;
		protected System.Web.UI.WebControls.DropDownList ddldepartments;
		protected System.Data.DataView dvwAttGrid;
		protected System.Data.DataView dvw,dvw1;
		protected System.Web.UI.WebControls.RadioButton rbtnthisweek;
		protected System.Web.UI.HtmlControls.HtmlInputButton btn_Report;
		protected System.Web.UI.WebControls.RadioButton rbtnthismonth;

		

		private void Page_Load(object sender, System.EventArgs e)
		{
			if(!Page.IsPostBack)
			{
				btn_Report.Style["display"] = "none";
				//绑定两个select框
				DataBindObject(ddldepartments);
				DataBindObject(lbstaffs);
			}
			
		}

		private void DataBindObject(object sender)
		{
			Database db = new Database();
			SqlDataReader dr;
			try
			{
				if(sender.GetType().ToString()=="System.Web.UI.WebControls.DropDownList") 
				{
					db.RunProc("SP_Ext_GetPosition",out dr);
					((DropDownList)sender).DataSource = dr;
					((DropDownList)sender).DataTextField = "Position_Name";
					((DropDownList)sender).DataValueField = "Position_ID";
					((DropDownList)sender).DataBind();
				}
				else if(sender.GetType().ToString()=="System.Web.UI.WebControls.ListBox")
				{
					SqlParameter[] prams = {
											 db.MakeInParam("@StaffType",SqlDbType.Bit,1,0)
					};
					db.RunProc("sp_GetAllStaff",prams,out dr);
					((ListBox)sender).DataSource = dr;
					((ListBox)sender).DataTextField = "realname";
					((ListBox)sender).DataValueField = "Staff_ID";
					((ListBox)sender).DataBind();
					dr.Close();
				}
			}
			catch(Exception ex)
			{
				UDS.Components.Error.Log(ex.Message);
				Server.Transfer("../Error.aspx");
			}

			
			
		}

		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.ddlsearchbound.SelectedIndexChanged += new System.EventHandler(this.ddlsearchbound_SelectedIndexChanged);
			this.btnsearch.Click += new System.EventHandler(this.btnsearch_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		private void ddlsearchbound_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			if(((DropDownList)sender).SelectedItem.Value == "0")
			{
				ddldepartments.Visible = false;
				lbstaffs.Visible = false;
				lbstaffs.Visible = false;
			}
			else if(((DropDownList)sender).SelectedItem.Value == "1")
			{
				ddldepartments.Visible = true;
				lbstaffs.Visible = false;
			}
			else if(((DropDownList)sender).SelectedItem.Value == "2")
			{
				lbstaffs.Visible = true;
				ddldepartments.Visible = false;
			}
		}

		private void btnsearch_Click(object sender, System.EventArgs e)
		{
			SqlDataReader dr,dr1,dr2;
			DataSet ds = new DataSet();
			Database db = new Database();
			btn_Report.Style["display"] = "";
			SqlParameter[] prams = new SqlParameter[4];
			string idtype="";
			string ids="";
			switch(ddlsearchbound.SelectedIndex)
			{
				case 0: idtype = "company";break;
				case 1: idtype = "Position";break;
				case 2: idtype = "staff";break;
			}
			if(idtype=="staff")
			{
				foreach(ListItem staffitem in lbstaffs.Items)
				{
					if(staffitem.Selected)
					{
						ids = ids + staffitem.Value + ",";
					}
				}
				if(ids!="") ids = ids.Substring(0,ids.Length-1);
			}
			else if(idtype=="Position")
			{
				ids = ddldepartments.SelectedItem.Value;
			}
			else if(idtype=="company")
			{
				ids = "";
			}
			try
			{
				//得到考勤数据
				prams[0] = db.MakeInParam("@begintime",SqlDbType.DateTime,8,txtbegintime.Text);
				prams[1] = db.MakeInParam("@endtime",SqlDbType.DateTime,8,txtendtime.Text);
				prams[2] = db.MakeInParam("@ids",SqlDbType.VarChar,1000,ids);
				prams[3] = db.MakeInParam("@idtype",SqlDbType.VarChar,50,idtype);
				db.RunProc("sp_WA_GetAttendanceData",prams,out dr);
				DataTable datatable =  Tools.ConvertDataReaderToDataTable(dr);	
				ds.Tables.Add(datatable);
				dvw = ds.Tables[0].DefaultView;
				db.Dispose();
				dr.Close();
				//得到人员名单
				if(idtype=="staff")
				{
					SqlParameter[] prams1 = {db.MakeInParam("@ids",SqlDbType.VarChar,1000,ids)};
					db.RunProc("sp_WA_GetSelectedStaffFromID",prams1,out dr1);
					DataTable datatable1 =  Tools.ConvertDataReaderToDataTable(dr1);	
					ds.Tables.Add(datatable1);
					dvwAttGrid = ds.Tables[1].DefaultView;
					db.Dispose();
					dr1.Close();
				}
				else if(idtype=="Position")
				{
					SqlParameter[] prams1 = {
												db.MakeInParam("@Position_id",SqlDbType.Int,4,Int32.Parse(ids)),
												db.MakeInParam("@Dimission",SqlDbType.Bit,1,0)
											};
					db.RunProc("sp_GetStaffInPosition",prams1,out dr1);
					DataTable datatable1 =  Tools.ConvertDataReaderToDataTable(dr1);	
					ds.Tables.Add(datatable1);
					dvwAttGrid = ds.Tables[1].DefaultView;
					db.Dispose();
					dr1.Close();
				}
				else if(idtype=="company")
				{
					SqlParameter[] prams1 = {
												db.MakeInParam("@StaffType",SqlDbType.Int,4,0)
											};
					db.RunProc("sp_GetAllStaff",prams1,out dr1);
					DataTable datatable1 =  Tools.ConvertDataReaderToDataTable(dr1);	
					ds.Tables.Add(datatable1);
					dvwAttGrid = ds.Tables[1].DefaultView;
					db.Dispose();
					dr1.Close();
				}

				SqlParameter[] prams2 = {
											db.MakeInParam("@begintime",SqlDbType.DateTime,8,txtbegintime.Text),
											db.MakeInParam("@endtime",SqlDbType.DateTime,8,txtendtime.Text)
				};
				db.RunProc("sp_WA_GetDutyDay",prams2,out dr2);
				DataTable datatable2 =  Tools.ConvertDataReaderToDataTable(dr2);	
				ds.Tables.Add(datatable2);
				dvw1 = ds.Tables[2].DefaultView;
				db.Dispose();
				dr2.Close();	

				AttendanceGrid.DataSource = dvwAttGrid;
				AttendanceGrid.DataBind();

				//缓存数据
				Cache["WA_Duty"] = ds;

				btn_Report.Attributes["onclick"] = "window.open('Report/DutyReport.aspx?idtype="+idtype+"&ids="+ids+"&begintime="+txtbegintime.Text+"&endtime="+txtendtime.Text+"')";
			}
			catch(Exception ex)
			{
				UDS.Components.Error.Log(ex.Message);
				Server.Transfer("../Error.aspx");
			}
			

		}

		

		

		
	}
}

⌨️ 快捷键说明

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