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

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. /// MyReceiveMeeting 的摘要说明。
  16. /// </summary>
  17. public class MyReceiveMeeting : System.Web.UI.Page
  18. {
  19. protected System.Data.SqlClient.SqlConnection MyConnection;
  20. protected System.Web.UI.WebControls.Label stats;
  21. protected System.Web.UI.WebControls.DataGrid MyDataGrid;
  22. private int totalMeeting;
  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. }
  43. private ICollection CreateDataSource() 
  44. {
  45. MyConnection=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
  46. SqlDataAdapter MyCommand = new SqlDataAdapter("SelectReceiveMeeting",MyConnection);
  47. MyCommand.SelectCommand.CommandType = CommandType.StoredProcedure;
  48. MyCommand.SelectCommand.Parameters.Add(new SqlParameter("@AccepterID", SqlDbType.Int, 4));
  49. MyCommand.SelectCommand.Parameters["@AccepterID"].Value = PID;
  50. DataSet ds = new DataSet();
  51. MyCommand.Fill(ds,"Meeting");
  52. MyConnection.Close();
  53. DataView dv = ds.Tables[0].DefaultView;
  54. totalMeeting=ds.Tables[0].Rows.Count;
  55. if (Session["tableReceiveMeeting"] == null)
  56. Session["tableReceiveMeeting"] = ds.Tables[0];
  57. if (Session["sorterReceiveMeeting"] == null)
  58. {
  59. Session["sorterReceiveMeeting"] ="Date";
  60. Session["sortReceiveMeeting"]=" DESC";
  61. }
  62. dv.Sort = (String) Session["sorterReceiveMeeting"]+(String) Session["sortReceiveMeeting"];
  63. ShowStats();
  64. return dv;
  65. }
  66. public void MyDataGrid_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e) 
  67. {
  68. DataGrid gridThatCausedEvent = (DataGrid) sender;
  69. gridThatCausedEvent.CurrentPageIndex = e.NewPageIndex;
  70. gridThatCausedEvent.DataSource = CreateDataSource();
  71. gridThatCausedEvent.DataBind();
  72. }
  73. public void MyDataGrid_Sort(Object sender, DataGridSortCommandEventArgs e) 
  74. {
  75. Session["sorterReceiveMeeting"] = (string)e.SortExpression;
  76. Session["sortReceiveMeeting"]=(Session["sortReceiveMeeting"].ToString()==" ASC")?
  77. " DESC":" ASC";
  78. MyDataGrid.DataSource = CreateDataSource();
  79. MyDataGrid.DataBind();
  80. foreach (DataGridItem item in MyDataGrid.Controls[0].Controls)
  81. {
  82. if (item.ItemType == ListItemType.Header)
  83. {
  84. Label lb =(Label)item.FindControl((string)Session["sorterReceiveMeeting"]);
  85. lb.Text = (Session["sortReceiveMeeting"].ToString()==" DESC")?
  86. "↓":"↑";
  87. }
  88. }
  89. }
  90. private void ShowStats() 
  91. {
  92. if (totalMeeting == 0) 
  93. {
  94. MyDataGrid.Visible = false;
  95. stats.Text = "未找到符合条件的记录!";
  96. }
  97. else 
  98. {
  99. MyDataGrid.Visible = true;
  100. int startOffset = (totalMeeting > 0) ? 
  101. (MyDataGrid.CurrentPageIndex*MyDataGrid.PageSize+1) : 0;
  102. int pageEndOffset = (MyDataGrid.CurrentPageIndex+1)*(MyDataGrid.PageSize);
  103. int endOffset = (pageEndOffset > totalMeeting) ? totalMeeting : pageEndOffset;
  104. string SortName;
  105. switch(Session["sorterReceiveMeeting"].ToString())
  106. {
  107. case "Title":
  108. SortName = "会议主题";
  109. break;
  110. case "Date":
  111. SortName="发送时间";
  112. break;
  113. case "PersonID":
  114. SortName = "发送人";
  115. break;
  116. case "Caller":
  117. SortName = "召集人";
  118. break;
  119. case "MeetingDate":
  120. SortName = "会议时间";
  121. break;
  122. case "Result":
  123. SortName = "会议状态";
  124. break;
  125. default:
  126. SortName="发送时间";
  127. break;
  128. }
  129. stats.Text = String.Format("<B>共</B>{2}<B>条记录中的</B>{0}-{1}<B>条记录  根据</B>{3}<B>排序</B>",
  130. startOffset,endOffset,totalMeeting,SortName);
  131. MyDataGrid.PagerStyle.Visible = (totalMeeting <= MyDataGrid.PageSize) ? false : true;
  132. }
  133. }
  134. public void MyDataGrid_ItemCreated(Object sender, DataGridItemEventArgs e) 
  135. {
  136. if((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
  137. {
  138. }
  139. if((e.Item.ItemType == ListItemType.Header))
  140. {
  141. for(int i = 0; i<6; i++)
  142. {
  143. Label lb = new Label();
  144. if(i==0)
  145. lb.ID = "Title";
  146. if(i==1)
  147. lb.ID = "MeetingDate";
  148. if(i==2)
  149. lb.ID = "Date";
  150. if(i==3)
  151. lb.ID = "Caller";
  152. if(i==4)
  153. lb.ID = "PersonID";
  154. if(i==5)
  155. lb.ID = "Result";
  156. lb.Text = "↓";
  157. e.Item.Cells[i].Controls.Add(lb);
  158. }
  159. }         
  160. }
  161. public void MyDataGrid_ItemDataBound(Object sender, DataGridItemEventArgs e) 
  162. {
  163. if((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
  164. {
  165. string MeetingID = DataBinder.Eval(e.Item.DataItem, "MeetingID").ToString();
  166. string CID = e.Item.Cells[3].Text.Trim();
  167. string SID = e.Item.Cells[4].Text.Trim();
  168. SqlCommand MyCommand0 = new SqlCommand("PersonName",MyConnection);
  169. MyCommand0.CommandType = CommandType.StoredProcedure;
  170. MyCommand0.Parameters.Add(new SqlParameter("@PersonID", SqlDbType.Int, 4));
  171. MyCommand0.Parameters["@PersonID"].Value = CID.Replace("(","").Replace(")","");
  172. if(MyConnection.State.ToString()=="Closed")
  173. MyConnection.Open(); 
  174. SqlDataReader myReader0 =  MyCommand0.ExecuteReader();
  175. while(myReader0.Read())
  176. e.Item.Cells[3].Text = myReader0["Name"].ToString();
  177. myReader0.Close();
  178. SqlCommand MyCommand1 = new SqlCommand("PersonName",MyConnection);
  179. MyCommand1.CommandType = CommandType.StoredProcedure;
  180. MyCommand1.Parameters.Add(new SqlParameter("@PersonID", SqlDbType.Int, 4));
  181. MyCommand1.Parameters["@PersonID"].Value = SID;
  182. if(MyConnection.State.ToString()=="Closed")
  183. MyConnection.Open(); 
  184. SqlDataReader myReader1 =  MyCommand1.ExecuteReader();
  185. while(myReader1.Read())
  186. e.Item.Cells[4].Text = myReader1["Name"].ToString();
  187. myReader1.Close();
  188. MyConnection.Close(); 
  189. if(e.Item.Cells[0].Text.Length>15)
  190. e.Item.Cells[0].Text = e.Item.Cells[0].Text.Substring(0,15)+"......";
  191. if(e.Item.Cells[5].Text.Trim()=="0")
  192. e.Item.Cells[5].Text = "未执行";
  193. if(e.Item.Cells[5].Text.Trim()=="1")
  194. e.Item.Cells[5].Text = "已执行";
  195. if(e.Item.Cells[5].Text.Trim()=="2")
  196. e.Item.Cells[5].Text = "已取消";
  197. /* LinkButton myDeleteButton;
  198. myDeleteButton = (LinkButton) e.Item.Cells[4].Controls[0];
  199. myDeleteButton.Attributes.Add("onclick", @"return confirm('你确认要删除此信息吗?');");
  200. */ }
  201. }
  202. public void MyDataGrid_Delete(Object sender, DataGridCommandEventArgs E) 
  203. {
  204. SqlCommand MyCommand = new SqlCommand("DeleteSenderMeeting",MyConnection);
  205. MyCommand.CommandType = CommandType.StoredProcedure;
  206. MyCommand.Parameters.Add(new SqlParameter("@MeetingID", SqlDbType.Int, 4));
  207. MyCommand.Parameters["@MeetingID"].Value = MyDataGrid.DataKeys[(int)E.Item.ItemIndex];
  208. if(MyConnection.State.ToString()=="Closed")
  209. MyConnection.Open(); 
  210. try
  211. {
  212. MyCommand.ExecuteNonQuery();
  213. }
  214. catch (SqlException)
  215. {
  216. RegisterStartupScript("alert","<script>alert('出现错误:未能删除记录!')</" + "script>");
  217. }
  218. MyConnection.Close();
  219. MyDataGrid.DataSource = CreateDataSource();
  220. MyDataGrid.DataBind();
  221. Response.Write("<script>opener.location.href=opener.location.href;opener=null;window.close();</"+"script>");
  222. }
  223. #region Web 窗体设计器生成的代码
  224. override protected void OnInit(EventArgs e)
  225. {
  226. //
  227. // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
  228. //
  229. InitializeComponent();
  230. base.OnInit(e);
  231. }
  232. /// <summary>
  233. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  234. /// 此方法的内容。
  235. /// </summary>
  236. private void InitializeComponent()
  237. {    
  238. this.Load += new System.EventHandler(this.Page_Load);
  239. }
  240. #endregion
  241. }
  242. }