Rehab.aspx.cs
上传用户:xgw_05
上传日期:2009-12-11
资源大小:20208k
文件大小:6k
源码类别:

OA系统

开发平台:

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.Staff
  14. {
  15. /// <summary>
  16. /// Rehab 的摘要说明。
  17. /// </summary>
  18. public class Rehab : System.Web.UI.Page
  19. {
  20. protected System.Web.UI.WebControls.DataGrid StaffList;
  21. protected System.Web.UI.WebControls.TextBox txb_PageNo;
  22. protected System.Web.UI.WebControls.TextBox txb_ItemPerPage;
  23. protected System.Web.UI.WebControls.Label lbl_totalrecord;
  24. protected System.Web.UI.WebControls.ImageButton btn_first;
  25. protected System.Web.UI.WebControls.ImageButton btn_pre;
  26. protected System.Web.UI.WebControls.Label lbl_curpage;
  27. protected System.Web.UI.WebControls.Label lbl_totalpage;
  28. protected System.Web.UI.WebControls.ImageButton btn_next;
  29. protected System.Web.UI.WebControls.ImageButton btn_last;
  30. protected System.Web.UI.HtmlControls.HtmlInputButton selectbutton;
  31. protected System.Web.UI.HtmlControls.HtmlInputButton btn_Go;
  32. protected System.Web.UI.HtmlControls.HtmlInputButton cmdChangeDepartment;
  33. protected System.Web.UI.HtmlControls.HtmlInputButton cmdRestoreDocument;
  34. private void Page_Load(object sender, System.EventArgs e)
  35. {
  36. // 在此处放置用户代码以初始化页面
  37. if(!Page.IsPostBack)
  38. {
  39. BindGrid();
  40. }
  41. }
  42. /// <summary>
  43. /// 数据绑定
  44. /// </summary>
  45. private void BindGrid()
  46. {
  47. SqlDataReader dr; //存放人物的数据
  48. Database db = new Database();
  49. db.RunProc("sp_GetDimissionStaff",out dr);
  50. DataTable dt =Tools.ConvertDataReaderToDataTable(dr);
  51. //在DataTable的末尾加上空行,使得DataGrid固定行数
  52. int blankrows = StaffList.PageSize - (dt.Rows.Count % StaffList.PageSize);
  53. for (int i = 0; i < blankrows; i++)
  54. {
  55. dt.Rows.Add(dt.NewRow());
  56. }
  57. StaffList.DataSource = dt.DefaultView;
  58. StaffList.DataBind();
  59. //对于空纪录不显示checkbox
  60. for(int i=0;i<StaffList.Items.Count;i++)
  61. {
  62. if(StaffList.Items[i].Cells[1].Text=="&nbsp;")
  63. {
  64. StaffList.Items[i].FindControl("cb_StaffID").Visible = false;
  65. }
  66. }
  67. lbl_totalrecord.Text =StaffList.PageCount.ToString();
  68. lbl_curpage.Text = txb_PageNo.Text = (StaffList.CurrentPageIndex + 1).ToString();
  69. txb_ItemPerPage.Text = StaffList.PageSize.ToString();
  70. lbl_totalpage.Text = StaffList.PageCount.ToString();
  71. }
  72. private void PagerButtonClick(object sender, System.Web.UI.ImageClickEventArgs e)
  73. {
  74. //获得LinkButton的参数值
  75. String arg = ((ImageButton)sender).CommandArgument;
  76.           
  77. switch(arg)
  78. {
  79. case ("next"):
  80. if (StaffList.CurrentPageIndex < (StaffList.PageCount - 1))
  81. StaffList.CurrentPageIndex ++;
  82. break;
  83. case ("pre"):
  84. if (StaffList.CurrentPageIndex > 0)
  85. StaffList.CurrentPageIndex --;
  86. break;
  87. case ("first"):
  88. StaffList.CurrentPageIndex=0;
  89. break;
  90. case ("last"):
  91. StaffList.CurrentPageIndex = (StaffList.PageCount - 1);
  92. break;
  93. default:
  94. //本页值
  95. StaffList.CurrentPageIndex = Convert.ToInt32(arg);
  96. break;
  97. }
  98. BindGrid();
  99. }            
  100. private void btnGo_Click(object sender, System.EventArgs e)
  101. {
  102. //页面直接跳转的代码
  103. if(txb_PageNo.Text.Trim()!="")
  104. {
  105. int PageI=Int32.Parse(txb_PageNo.Text.Trim())-1;
  106. if (PageI >=0 && PageI < (StaffList.PageCount))
  107. StaffList.CurrentPageIndex = PageI ;
  108. BindGrid();
  109. }
  110. private void txb_ItemPerPage_TextChanged(object sender, System.EventArgs e)
  111. {
  112. if(txb_ItemPerPage.Text.Trim()!="")
  113. {
  114. int itemPage=Int32.Parse(txb_ItemPerPage.Text.Trim());
  115. if(itemPage>0)
  116. StaffList.PageSize =  Int32.Parse(txb_ItemPerPage.Text.Trim());
  117. }
  118. BindGrid();
  119. }
  120. private string GetSelectedItemID(string controlID)
  121. {
  122. String selectedID;
  123. selectedID = "";
  124. //遍历DataGrid获得checked的ID
  125. foreach (DataGridItem item in StaffList.Items)
  126. {
  127. if(((CheckBox)item.FindControl(controlID)).Checked)
  128. selectedID += item.Cells[1].Text.Trim()+",";
  129. }
  130. selectedID=selectedID.Substring(0,selectedID.Length-1);
  131. return selectedID;
  132. }
  133. #region Web Form Designer generated code
  134. override protected void OnInit(EventArgs e)
  135. {
  136. //
  137. // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
  138. //
  139. InitializeComponent();
  140. base.OnInit(e);
  141. }
  142. /// <summary>
  143. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  144. /// 此方法的内容。
  145. /// </summary>
  146. private void InitializeComponent()
  147. {    
  148. this.btn_first.Click += new System.Web.UI.ImageClickEventHandler(this.PagerButtonClick);
  149. this.btn_pre.Click += new System.Web.UI.ImageClickEventHandler(this.PagerButtonClick);
  150. this.btn_next.Click += new System.Web.UI.ImageClickEventHandler(this.PagerButtonClick);
  151. this.btn_last.Click += new System.Web.UI.ImageClickEventHandler(this.PagerButtonClick);
  152. this.btn_Go.ServerClick += new System.EventHandler(this.btnGo_Click);
  153. this.txb_ItemPerPage.TextChanged += new System.EventHandler(this.txb_ItemPerPage_TextChanged);
  154. this.cmdChangeDepartment.ServerClick += new System.EventHandler(this.cmdChangeDepartment_ServerClick);
  155. this.cmdRestoreDocument.ServerClick += new System.EventHandler(this.cmdRestoreDocument_ServerClick);
  156. this.Load += new System.EventHandler(this.Page_Load);
  157. }
  158. #endregion
  159. private void cmdChangeDepartment_ServerClick(object sender, System.EventArgs e)
  160. {
  161. Response.Redirect("../Department/ChangeDepartment.aspx?BackFilePath="+Request.CurrentExecutionFilePath+"&StaffIDS="+GetSelectedItemID("cb_StaffID"));
  162. }
  163. private void cmdRestoreDocument_ServerClick(object sender, System.EventArgs e)
  164. {
  165. UDS.Components.Staff st = new UDS.Components.Staff();
  166. if(st.ReturnPosition(GetSelectedItemID("cb_StaffID"))==false)
  167. Server.Transfer("../Error.aspx");
  168. else
  169. Response.Redirect("Rehab.aspx");
  170. }
  171. }
  172. }