MyReceiveFile.aspx.cs
上传用户:tree100901
上传日期:2007-06-03
资源大小:2295k
文件大小:8k
源码类别:

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. namespace OA
  13. {
  14. /// <summary>
  15. /// MyReceiveFile 的摘要说明。
  16. /// </summary>
  17. public class MyReceiveFile : System.Web.UI.Page
  18. {
  19. protected System.Web.UI.WebControls.Label stats;
  20. protected System.Web.UI.WebControls.DataGrid MyDataGrid;
  21. protected System.Data.SqlClient.SqlConnection MyConnection;
  22. private int totalFile;
  23. public string PID;
  24. private void Page_Load(object sender, System.EventArgs e)
  25. {
  26. MyConnection=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
  27. SqlCommand MyCommand00 = new SqlCommand("PersonID",MyConnection);
  28. MyCommand00.CommandType = CommandType.StoredProcedure;
  29. MyCommand00.Parameters.Add(new SqlParameter("@Name", SqlDbType.NVarChar, 50));
  30. MyCommand00.Parameters["@Name"].Value = User.Identity.Name;
  31. MyConnection.Open();
  32. SqlDataReader myReader00 =  MyCommand00.ExecuteReader();
  33. myReader00.Read(); 
  34. PID = myReader00.GetInt32(0).ToString();
  35. myReader00.Close();
  36. if(!IsPostBack)
  37. {
  38. MyDataGrid.DataSource = CreateDataSource();
  39. MyDataGrid.DataBind();
  40. } // 在此处放置用户代码以初始化页面
  41. }
  42. private ICollection CreateDataSource() 
  43. {
  44. MyConnection=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
  45. SqlDataAdapter MyCommand = new SqlDataAdapter("SelectReceiveFile",MyConnection);
  46. MyCommand.SelectCommand.CommandType = CommandType.StoredProcedure;
  47. MyCommand.SelectCommand.Parameters.Add(new SqlParameter("@AccepterID", SqlDbType.Int, 4));
  48. MyCommand.SelectCommand.Parameters["@AccepterID"].Value = PID;
  49. DataSet ds = new DataSet();
  50. MyCommand.Fill(ds,"File");
  51. MyConnection.Close();
  52. DataView dv = ds.Tables[0].DefaultView;
  53. totalFile=ds.Tables[0].Rows.Count;
  54. if (Session["tableReceiveFile"] == null)
  55. Session["tableReceiveFile"] = ds.Tables[0];
  56. if (Session["sorterReceiveFile"] == null)
  57. {
  58. Session["sorterReceiveFile"] ="Date";
  59. Session["sortReceiveFile"]=" DESC";
  60. }
  61. dv.Sort = (String) Session["sorterReceiveFile"]+(String) Session["sortReceiveFile"];
  62. ShowStats();
  63. return dv;
  64. }
  65. public void MyDataGrid_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e) 
  66. {
  67. DataGrid gridThatCausedEvent = (DataGrid) sender;
  68. gridThatCausedEvent.CurrentPageIndex = e.NewPageIndex;
  69. gridThatCausedEvent.DataSource = CreateDataSource();
  70. gridThatCausedEvent.DataBind();
  71. }
  72. public void MyDataGrid_Sort(Object sender, DataGridSortCommandEventArgs e) 
  73. {
  74. Session["sorterReceiveFile"] = (string)e.SortExpression;
  75. Session["sortReceiveFile"]=(Session["sortReceiveFile"].ToString()==" ASC")?
  76. " DESC":" ASC";
  77. MyDataGrid.DataSource = CreateDataSource();
  78. MyDataGrid.DataBind();
  79. foreach (DataGridItem item in MyDataGrid.Controls[0].Controls)
  80. {
  81. if (item.ItemType == ListItemType.Header)
  82. {
  83. Label lb =(Label)item.FindControl((string)Session["sorterReceiveFile"]);
  84. lb.Text = (Session["sortReceiveFile"].ToString()==" DESC")?
  85. "↓":"↑";
  86. }
  87. }
  88. }
  89. private void ShowStats() 
  90. {
  91. if (totalFile == 0) 
  92. {
  93. MyDataGrid.Visible = false;
  94. stats.Text = "未找到符合条件的记录!";
  95. }
  96. else 
  97. {
  98. MyDataGrid.Visible = true;
  99. int startOffset = (totalFile > 0) ? 
  100. (MyDataGrid.CurrentPageIndex*MyDataGrid.PageSize+1) : 0;
  101. int pageEndOffset = (MyDataGrid.CurrentPageIndex+1)*(MyDataGrid.PageSize);
  102. int endOffset = (pageEndOffset > totalFile) ? totalFile : pageEndOffset;
  103. string SortName;
  104. switch(Session["sorterReceiveFile"].ToString())
  105. {
  106. case "Title":
  107. SortName = "文件标题";
  108. break;
  109. case "Date":
  110. SortName="发送时间";
  111. break;
  112. case "PersonID":
  113. SortName = "发送人";
  114. break;
  115. case "Writer":
  116. SortName = "起草人";
  117. break;
  118. case "SystemID":
  119. SortName = "公司";
  120.                         break;
  121. case "OrganizationID":
  122. SortName = "归口部门";
  123. break;
  124. case "FileKind":
  125. SortName = "文件类别";
  126. break;
  127. default:
  128. SortName="发送时间";
  129. break;
  130. }
  131. stats.Text = String.Format("<B>共</B>{2}<B>条记录中的</B>{0}-{1}<B>条记录  根据</B>{3}<B>排序</B>",
  132. startOffset,endOffset,totalFile,SortName);
  133. MyDataGrid.PagerStyle.Visible = (totalFile <= MyDataGrid.PageSize) ? false : true;
  134. }
  135. }
  136. public void MyDataGrid_ItemCreated(Object sender, DataGridItemEventArgs e) 
  137. {
  138. if((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
  139. {
  140. }
  141. if((e.Item.ItemType == ListItemType.Header))
  142. {
  143. for(int i = 0; i<7; i++)
  144. {
  145. Label lb = new Label();
  146. if(i==0)
  147. lb.ID = "Title";
  148. if(i==1)
  149. lb.ID = "Date";
  150. if(i==2)
  151. lb.ID = "Writer";
  152. if(i==3)
  153. lb.ID = "PersonID";
  154. if(i==4)
  155. lb.ID = "FileKind";
  156. if(i==5)
  157. lb.ID = "SystemID";
  158. if(i==6)
  159. lb.ID = "OrganizationID";
  160. lb.Text = "↓";
  161. e.Item.Cells[i].Controls.Add(lb);
  162. }
  163. }         
  164. }
  165. public void MyDataGrid_ItemDataBound(Object sender, DataGridItemEventArgs e) 
  166. {
  167. if((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
  168. {
  169. string FileID = DataBinder.Eval(e.Item.DataItem, "FileID").ToString();
  170. SqlCommand MyCommand1 = new SqlCommand("PersonName",MyConnection);
  171. MyCommand1.CommandType = CommandType.StoredProcedure;
  172. MyCommand1.Parameters.Add(new SqlParameter("@PersonID", SqlDbType.Int, 4));
  173. MyCommand1.Parameters["@PersonID"].Value = e.Item.Cells[3].Text.Trim();
  174. if(MyConnection.State.ToString()=="Closed")
  175. MyConnection.Open(); 
  176. SqlDataReader myReader1 =  MyCommand1.ExecuteReader();
  177. while(myReader1.Read())
  178. e.Item.Cells[3].Text = myReader1["Name"].ToString();
  179. myReader1.Close();
  180. MyConnection.Close(); 
  181. SqlCommand MyCommand2 = new SqlCommand("SelectSystemName",MyConnection);
  182. MyCommand2.CommandType = CommandType.StoredProcedure;
  183. MyCommand2.Parameters.Add(new SqlParameter("@SystemID", SqlDbType.Int, 4));
  184. MyCommand2.Parameters["@SystemID"].Value = e.Item.Cells[5].Text.Trim();
  185. if(MyConnection.State.ToString()=="Closed")
  186. MyConnection.Open(); 
  187. SqlDataReader myReader2 =  MyCommand2.ExecuteReader();
  188. while(myReader2.Read())
  189. e.Item.Cells[5].Text = myReader2["SystemName"].ToString();
  190. myReader2.Close();
  191. MyConnection.Close(); 
  192. SqlCommand MyCommand3 = new SqlCommand("SelectOrganizationName",MyConnection);
  193. MyCommand3.CommandType = CommandType.StoredProcedure;
  194. MyCommand3.Parameters.Add(new SqlParameter("@OrganizationID", SqlDbType.Int, 4));
  195. MyCommand3.Parameters["@OrganizationID"].Value = e.Item.Cells[6].Text.Trim();
  196. if(MyConnection.State.ToString()=="Closed")
  197. MyConnection.Open(); 
  198. SqlDataReader myReader3 =  MyCommand3.ExecuteReader();
  199. while(myReader3.Read())
  200. e.Item.Cells[6].Text = myReader3["OrganizationName"].ToString();
  201. myReader3.Close();
  202. MyConnection.Close(); 
  203. MyConnection.Close(); 
  204. if(e.Item.Cells[0].Text.Length>15)
  205. e.Item.Cells[0].Text = e.Item.Cells[0].Text.Substring(0,15)+"......";
  206. }
  207. }
  208. #region Web 窗体设计器生成的代码
  209. override protected void OnInit(EventArgs e)
  210. {
  211. //
  212. // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
  213. //
  214. InitializeComponent();
  215. base.OnInit(e);
  216. }
  217. /// <summary>
  218. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  219. /// 此方法的内容。
  220. /// </summary>
  221. private void InitializeComponent()
  222. {    
  223. this.Load += new System.EventHandler(this.Page_Load);
  224. }
  225. #endregion
  226. }
  227. }