UserList.aspx.cs
上传用户:autodoor
上传日期:2022-08-04
资源大小:9973k
文件大小:6k
源码类别:

.net编程

开发平台:

Others

  1. using System;
  2. using System.Data;
  3. using System.Web.UI.WebControls;
  4. using qminoa.BLL.PM;
  5. using qminoa.DA;
  6. namespace qminoa.Webs.PM
  7. {
  8. public class UserList : qminoa.Webs.PageBase
  9. {
  10. protected System.Web.UI.WebControls.DropDownList BranchDropList;
  11. protected System.Web.UI.WebControls.DropDownList DepartmentDropList;
  12. protected System.Web.UI.WebControls.DataGrid Users;
  13. private string temp_rolename = string.Empty;
  14. private PMUser  _user;
  15. public const string UserRoleAdministrator = "1";
  16. private void Page_Load(object sender, System.EventArgs e)
  17. {
  18. this.PageBegin("项目角色管理",true);
  19. _user = new PMUser(Convert.ToInt16(this.Empid));
  20. if(_user.Role != UserRoleAdministrator)
  21. {
  22. Response.Redirect(Application["vRoot"]+"/login.aspx");  
  23. }
  24. if (!Page.IsPostBack)
  25. {
  26. LoadBraDep();
  27. LoadUsers();
  28. }
  29. }
  30. protected RolesCollection GetRoles()
  31. {
  32. return Roles.GetRoles();
  33. }
  34. private void LoadBraDep()
  35. {
  36. AdminDB admin = new AdminDB();
  37. BranchDropList.DataSource=admin.GetAllBranch();
  38. BranchDropList.DataBind();
  39. BranchDropList.Items[0].Selected=true;
  40. DepartmentDropList.DataSource=admin.GetDepByBranch(Int32.Parse(BranchDropList.SelectedItem.Value));
  41. DepartmentDropList.DataBind();
  42. }
  43. private void LoadUsers()
  44. {
  45. UsersCollection users = PMUser.GetUsers(_user.UserID, _user.Role,Int32.Parse(DepartmentDropList.SelectedItem.Value));
  46. SortGridData(users, SortField, SortAscending);
  47. Users.DataSource = users;
  48. Users.DataKeyField = "UserID";
  49. Users.DataBind();
  50. }
  51. private void SortGridData(UsersCollection list, string sortField, bool asc)
  52. {
  53. UsersCollection.UserFields sortCol = UsersCollection.UserFields.InitValue;
  54. switch(sortField)
  55. {
  56. case "UserName":
  57. sortCol = UsersCollection.UserFields.UserName;
  58. break;
  59. case "RoleName":
  60. sortCol = UsersCollection.UserFields.RoleName;
  61. break;
  62. }
  63. list.Sort(sortCol, asc);
  64. }
  65. #region Web Form Designer generated code
  66. override protected void OnInit(EventArgs e)
  67. {
  68. //
  69. // CODEGEN: This call is required by the ASP.NET Web Form Designer.
  70. //
  71. InitializeComponent();
  72. base.OnInit(e);
  73. }
  74. /// <summary>
  75. /// Required method for Designer support - do not modify
  76. /// the contents of this method with the code editor.
  77. /// </summary>
  78. private void InitializeComponent()
  79. {    
  80. this.BranchDropList.SelectedIndexChanged += new System.EventHandler(this.BranchDropList_SelectedIndexChanged);
  81. this.DepartmentDropList.SelectedIndexChanged += new System.EventHandler(this.DepartmentDropList_SelectedIndexChanged);
  82. this.Users.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.Users_PageIndexChanged);
  83. this.Users.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Users_CancelCommand);
  84. this.Users.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Users_EditCommand);
  85. this.Users.SortCommand += new System.Web.UI.WebControls.DataGridSortCommandEventHandler(this.Users_Sort);
  86. this.Users.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Users_UpdateCommand);
  87. this.Users.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.Users_ItemDataBound);
  88. this.Load += new System.EventHandler(this.Page_Load);
  89. }
  90. #endregion
  91. private void Users_Sort(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
  92. {
  93. SortField = e.SortExpression;
  94. LoadUsers();
  95. }
  96. private void Users_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
  97. {
  98. Users.EditItemIndex= -1;
  99. Users.CurrentPageIndex = e.NewPageIndex;
  100. LoadUsers();
  101. }
  102. private void Users_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  103. {
  104. Users.EditItemIndex = e.Item.ItemIndex;
  105. temp_rolename = ((Label) e.Item.FindControl("lblGridRoleName")).Text.Trim();
  106. LoadUsers();
  107. }
  108. private void Users_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  109. {
  110. int _userid;
  111. int _roleid;
  112. _userid = Convert.ToInt32(Users.DataKeys[e.Item.ItemIndex].ToString());
  113. DropDownList currentRoleNameList = (DropDownList) e.Item.FindControl("ddlRoles");
  114. _roleid = Convert.ToInt16(currentRoleNameList.SelectedItem.Value);
  115. PMUser.UpdateUserRole(_userid,_roleid);
  116. Users.EditItemIndex = -1;
  117. LoadUsers();
  118. }
  119. private void Users_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  120. {
  121. Users.EditItemIndex = -1;
  122. LoadUsers();
  123. }
  124. private void Users_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
  125. {
  126. if (e.Item.ItemType == ListItemType.EditItem) 
  127. {
  128. DropDownList currentRoleNameList = (DropDownList) e.Item.FindControl("ddlRoles");
  129. currentRoleNameList.SelectedIndex = currentRoleNameList.Items.IndexOf(currentRoleNameList.Items.FindByText(temp_rolename));
  130. }
  131. }
  132. private void BranchDropList_SelectedIndexChanged(object sender, System.EventArgs e)
  133. {
  134. AdminDB admin = new AdminDB();
  135. DepartmentDropList.DataSource=admin.GetDepByBranch(Int32.Parse(BranchDropList.SelectedItem.Value));
  136. DepartmentDropList.DataBind();
  137. if(DepartmentDropList.Items.Count !=0)
  138. {
  139. Users.DataSource = PMUser.GetUsers(_user.UserID, _user.Role,Int32.Parse(DepartmentDropList.SelectedItem.Value));
  140. Users.DataBind();
  141. }
  142. else
  143. {
  144. Users.DataSource = PMUser.GetUsers(_user.UserID, _user.Role,0);
  145. Users.DataBind();
  146. }
  147. }
  148. private void DepartmentDropList_SelectedIndexChanged(object sender, System.EventArgs e)
  149. {
  150. Users.DataSource = PMUser.GetUsers(_user.UserID, _user.Role,Int32.Parse(DepartmentDropList.SelectedItem.Value));
  151. Users.DataBind();
  152. }
  153. string SortField 
  154. {
  155. get 
  156. {
  157. object o = ViewState["SortField"];
  158. if (o == null) 
  159. return string.Empty;
  160. return (string)o;
  161. }
  162. set 
  163. {
  164. if (value == SortField) 
  165. SortAscending = !SortAscending;
  166. ViewState["SortField"] = value;
  167. }
  168. }
  169. bool SortAscending 
  170. {
  171. get 
  172. {
  173. object o = ViewState["SortAscending"];
  174. if (o == null) 
  175. return true;
  176. return (bool)o;
  177. }
  178. set 
  179. {
  180. ViewState["SortAscending"] = value;
  181. }
  182. }
  183. }
  184. }