SearchData.aspx.cs
上传用户:cha0314
上传日期:2014-03-02
资源大小:12522k
文件大小:7k
源码类别:

C#编程

开发平台:

C#

  1. using System;
  2. using System.Collections;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Data.SqlClient;
  6. using System.Drawing;
  7. using System.Web;
  8. using System.Web.SessionState;
  9. using System.Web.UI;
  10. using System.Web.UI.WebControls;
  11. using System.Web.UI.HtmlControls;
  12. using UDS.Components;
  13. namespace UDS.SubModule.WorkAttendance
  14. {
  15. /// <summary>
  16. /// SearchData 的摘要说明。
  17. /// </summary>
  18. public class SearchData : System.Web.UI.Page
  19. {
  20. protected System.Web.UI.WebControls.TextBox txtbegintime;
  21. protected System.Web.UI.WebControls.TextBox txtendtime;
  22. protected System.Web.UI.WebControls.DropDownList ddlsearchbound;
  23. protected System.Web.UI.WebControls.ListBox lbstaffs;
  24. protected System.Web.UI.WebControls.CompareValidator cvdate;
  25. protected System.Web.UI.WebControls.Button btnsearch;
  26. protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
  27. protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
  28. protected System.Web.UI.WebControls.ValidationSummary vs1;
  29. protected System.Web.UI.WebControls.DataGrid AttendanceGrid;
  30. protected System.Web.UI.WebControls.DropDownList ddldepartments;
  31. protected System.Data.DataView dvwAttGrid;
  32. protected System.Data.DataView dvw,dvw1;
  33. protected System.Web.UI.WebControls.RadioButton rbtnthisweek;
  34. protected System.Web.UI.HtmlControls.HtmlInputButton btn_Report;
  35. protected System.Web.UI.WebControls.RadioButton rbtnthismonth;
  36. private void Page_Load(object sender, System.EventArgs e)
  37. {
  38. if(!Page.IsPostBack)
  39. {
  40. btn_Report.Style["display"] = "none";
  41. //绑定两个select框
  42. DataBindObject(ddldepartments);
  43. DataBindObject(lbstaffs);
  44. }
  45. }
  46. private void DataBindObject(object sender)
  47. {
  48. Database db = new Database();
  49. SqlDataReader dr;
  50. try
  51. {
  52. if(sender.GetType().ToString()=="System.Web.UI.WebControls.DropDownList") 
  53. {
  54. db.RunProc("SP_Ext_GetPosition",out dr);
  55. ((DropDownList)sender).DataSource = dr;
  56. ((DropDownList)sender).DataTextField = "Position_Name";
  57. ((DropDownList)sender).DataValueField = "Position_ID";
  58. ((DropDownList)sender).DataBind();
  59. }
  60. else if(sender.GetType().ToString()=="System.Web.UI.WebControls.ListBox")
  61. {
  62. SqlParameter[] prams = {
  63.  db.MakeInParam("@StaffType",SqlDbType.Bit,1,0)
  64. };
  65. db.RunProc("sp_GetAllStaff",prams,out dr);
  66. ((ListBox)sender).DataSource = dr;
  67. ((ListBox)sender).DataTextField = "realname";
  68. ((ListBox)sender).DataValueField = "Staff_ID";
  69. ((ListBox)sender).DataBind();
  70. dr.Close();
  71. }
  72. }
  73. catch(Exception ex)
  74. {
  75. UDS.Components.Error.Log(ex.Message);
  76. Server.Transfer("../Error.aspx");
  77. }
  78. }
  79. #region Web Form Designer generated code
  80. override protected void OnInit(EventArgs e)
  81. {
  82. //
  83. // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
  84. //
  85. InitializeComponent();
  86. base.OnInit(e);
  87. }
  88. /// <summary>
  89. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  90. /// 此方法的内容。
  91. /// </summary>
  92. private void InitializeComponent()
  93. {    
  94. this.ddlsearchbound.SelectedIndexChanged += new System.EventHandler(this.ddlsearchbound_SelectedIndexChanged);
  95. this.btnsearch.Click += new System.EventHandler(this.btnsearch_Click);
  96. this.Load += new System.EventHandler(this.Page_Load);
  97. }
  98. #endregion
  99. private void ddlsearchbound_SelectedIndexChanged(object sender, System.EventArgs e)
  100. {
  101. if(((DropDownList)sender).SelectedItem.Value == "0")
  102. {
  103. ddldepartments.Visible = false;
  104. lbstaffs.Visible = false;
  105. lbstaffs.Visible = false;
  106. }
  107. else if(((DropDownList)sender).SelectedItem.Value == "1")
  108. {
  109. ddldepartments.Visible = true;
  110. lbstaffs.Visible = false;
  111. }
  112. else if(((DropDownList)sender).SelectedItem.Value == "2")
  113. {
  114. lbstaffs.Visible = true;
  115. ddldepartments.Visible = false;
  116. }
  117. }
  118. private void btnsearch_Click(object sender, System.EventArgs e)
  119. {
  120. SqlDataReader dr,dr1,dr2;
  121. DataSet ds = new DataSet();
  122. Database db = new Database();
  123. btn_Report.Style["display"] = "";
  124. SqlParameter[] prams = new SqlParameter[4];
  125. string idtype="";
  126. string ids="";
  127. switch(ddlsearchbound.SelectedIndex)
  128. {
  129. case 0: idtype = "company";break;
  130. case 1: idtype = "Position";break;
  131. case 2: idtype = "staff";break;
  132. }
  133. if(idtype=="staff")
  134. {
  135. foreach(ListItem staffitem in lbstaffs.Items)
  136. {
  137. if(staffitem.Selected)
  138. {
  139. ids = ids + staffitem.Value + ",";
  140. }
  141. }
  142. if(ids!="") ids = ids.Substring(0,ids.Length-1);
  143. }
  144. else if(idtype=="Position")
  145. {
  146. ids = ddldepartments.SelectedItem.Value;
  147. }
  148. else if(idtype=="company")
  149. {
  150. ids = "";
  151. }
  152. try
  153. {
  154. //得到考勤数据
  155. prams[0] = db.MakeInParam("@begintime",SqlDbType.DateTime,8,txtbegintime.Text);
  156. prams[1] = db.MakeInParam("@endtime",SqlDbType.DateTime,8,txtendtime.Text);
  157. prams[2] = db.MakeInParam("@ids",SqlDbType.VarChar,1000,ids);
  158. prams[3] = db.MakeInParam("@idtype",SqlDbType.VarChar,50,idtype);
  159. db.RunProc("sp_WA_GetAttendanceData",prams,out dr);
  160. DataTable datatable =  Tools.ConvertDataReaderToDataTable(dr);
  161. ds.Tables.Add(datatable);
  162. dvw = ds.Tables[0].DefaultView;
  163. db.Dispose();
  164. dr.Close();
  165. //得到人员名单
  166. if(idtype=="staff")
  167. {
  168. SqlParameter[] prams1 = {db.MakeInParam("@ids",SqlDbType.VarChar,1000,ids)};
  169. db.RunProc("sp_WA_GetSelectedStaffFromID",prams1,out dr1);
  170. DataTable datatable1 =  Tools.ConvertDataReaderToDataTable(dr1);
  171. ds.Tables.Add(datatable1);
  172. dvwAttGrid = ds.Tables[1].DefaultView;
  173. db.Dispose();
  174. dr1.Close();
  175. }
  176. else if(idtype=="Position")
  177. {
  178. SqlParameter[] prams1 = {
  179. db.MakeInParam("@Position_id",SqlDbType.Int,4,Int32.Parse(ids)),
  180. db.MakeInParam("@Dimission",SqlDbType.Bit,1,0)
  181. };
  182. db.RunProc("sp_GetStaffInPosition",prams1,out dr1);
  183. DataTable datatable1 =  Tools.ConvertDataReaderToDataTable(dr1);
  184. ds.Tables.Add(datatable1);
  185. dvwAttGrid = ds.Tables[1].DefaultView;
  186. db.Dispose();
  187. dr1.Close();
  188. }
  189. else if(idtype=="company")
  190. {
  191. SqlParameter[] prams1 = {
  192. db.MakeInParam("@StaffType",SqlDbType.Int,4,0)
  193. };
  194. db.RunProc("sp_GetAllStaff",prams1,out dr1);
  195. DataTable datatable1 =  Tools.ConvertDataReaderToDataTable(dr1);
  196. ds.Tables.Add(datatable1);
  197. dvwAttGrid = ds.Tables[1].DefaultView;
  198. db.Dispose();
  199. dr1.Close();
  200. }
  201. SqlParameter[] prams2 = {
  202. db.MakeInParam("@begintime",SqlDbType.DateTime,8,txtbegintime.Text),
  203. db.MakeInParam("@endtime",SqlDbType.DateTime,8,txtendtime.Text)
  204. };
  205. db.RunProc("sp_WA_GetDutyDay",prams2,out dr2);
  206. DataTable datatable2 =  Tools.ConvertDataReaderToDataTable(dr2);
  207. ds.Tables.Add(datatable2);
  208. dvw1 = ds.Tables[2].DefaultView;
  209. db.Dispose();
  210. dr2.Close();
  211. AttendanceGrid.DataSource = dvwAttGrid;
  212. AttendanceGrid.DataBind();
  213. //缓存数据
  214. Cache["WA_Duty"] = ds;
  215. btn_Report.Attributes["onclick"] = "window.open('Report/DutyReport.aspx?idtype="+idtype+"&ids="+ids+"&begintime="+txtbegintime.Text+"&endtime="+txtendtime.Text+"')";
  216. }
  217. catch(Exception ex)
  218. {
  219. UDS.Components.Error.Log(ex.Message);
  220. Server.Transfer("../Error.aspx");
  221. }
  222. }
  223. }
  224. }