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

.net编程

开发平台:

Others

  1. using System;
  2. using System.Data;
  3. using System.Web;
  4. using System.Web.UI.WebControls;
  5. using System.Web.UI.HtmlControls;
  6. using qminoa.DA;
  7. namespace qminoa.Webs.Msg.module
  8. {
  9. public abstract class ResiveModule : System.Web.UI.UserControl
  10. {
  11. protected System.Web.UI.WebControls.DropDownList BranchDropList;
  12. protected System.Web.UI.WebControls.DropDownList DepartmentDropList;
  13. protected System.Web.UI.WebControls.ListBox LisBoxUser;
  14. protected System.Web.UI.WebControls.Button btnDelSend;
  15. protected System.Web.UI.WebControls.Button btnDelAllSend;
  16. protected System.Web.UI.WebControls.ListBox LisBoxSendTo;
  17. protected System.Web.UI.WebControls.Button btnDelSecret;
  18. protected System.Web.UI.WebControls.Button btnDelAllSecret;
  19. protected System.Web.UI.WebControls.ListBox LisBoxSecretTo;
  20. protected System.Web.UI.WebControls.CustomValidator cus;
  21. protected System.Web.UI.HtmlControls.HtmlButton btnSelSend;
  22. protected System.Web.UI.HtmlControls.HtmlButton btnSelSecret;
  23. protected System.Web.UI.WebControls.TextBox txtbox;
  24. private DataSet data;
  25. public string [] Send
  26. {
  27. get
  28. {
  29. string [] send = new string[2];
  30. send[0] = "";
  31. send[1] = "";
  32. int count = LisBoxSendTo.Items.Count;
  33. if( 0 != count)
  34. {
  35. for(int i = 0; i < count; i ++)
  36. {
  37. if(0 == i)
  38. {
  39. send[0] += LisBoxSendTo.Items[i].Text;
  40. send[1] += LisBoxSendTo.Items[i].Value;
  41. }
  42. else
  43. {
  44. send[0] += "," + LisBoxSendTo.Items[i].Text;
  45. send[1] += "," + LisBoxSendTo.Items[i].Value;
  46. }
  47. }
  48. }
  49. return send;
  50. }
  51. set
  52. {
  53. string [] send = new string [2];
  54. send = value;
  55. char [] seprator =new char [1];
  56. seprator[0] = ',';
  57. string [] Send = send[0].Split(seprator,10);
  58. string [] SendID = send[1].Split(seprator,10);
  59. int count = Send.Length;
  60. for(int i =0; i < count; i ++)
  61. {
  62. LisBoxSendTo.Items.Add(new ListItem(Send[i],SendID[i]));
  63. }
  64. }
  65. }
  66. public string [] Secret
  67. {
  68. get
  69. {
  70. string [] secret = new string[2];
  71. secret[0] = "";
  72. secret[1] = "";
  73. int count = LisBoxSecretTo.Items.Count;
  74. if( 0 != count)
  75. {
  76. for(int i = 0; i < count; i ++)
  77. {
  78. if(0 == i)
  79. {
  80. secret[0] += LisBoxSecretTo.Items[i].Text;
  81. secret[1] += LisBoxSecretTo.Items[i].Value;
  82. }
  83. else
  84. {
  85. secret[0] += "," + LisBoxSecretTo.Items[i].Text;
  86. secret[1] += "," + LisBoxSecretTo.Items[i].Value;
  87. }
  88. }
  89. }
  90. return secret;
  91. }
  92. set
  93. {
  94. string [] secret = new string [2];
  95. secret = value;
  96. char [] seprator =new char [1];
  97. seprator[0] = ',';
  98. string [] Secret = secret[0].Split(seprator,10);
  99. string [] SecretID = secret[1].Split(seprator,10);
  100. int count = Secret.Length;
  101. for(int i =0; i < count; i ++)
  102. {
  103. LisBoxSecretTo.Items.Add(new ListItem(Secret[i],SecretID[i]));
  104. }
  105. }
  106. }
  107. private void Page_Load(object sender, System.EventArgs e)
  108. {
  109. if(!IsPostBack)
  110. {
  111. AdminDB admin = new AdminDB();
  112. BranchDropList.DataSource=admin.GetAllBranch();
  113. BranchDropList.DataTextField  = "BranchName";
  114. BranchDropList.DataValueField = "BranchID";
  115. BranchDropList.DataBind();
  116. BranchDropList.Items[0].Selected=true;
  117. DepartmentDropList.DataSource=admin.GetDepByBranch(Int32.Parse(BranchDropList.SelectedItem.Value));
  118. DepartmentDropList.DataTextField  = "DepName";
  119. DepartmentDropList.DataValueField = "DepID";
  120. DepartmentDropList.DataBind();
  121. DepartmentDropList.Items[0].Selected=true;
  122. LisBoxUser.Items.Add(new ListItem("--------可选部门--------","000000"));
  123. for(int i = 0; i < DepartmentDropList.Items.Count; i ++)
  124. {
  125. LisBoxUser.Items.Add(new ListItem(DepartmentDropList.Items[i].Text,DepartmentDropList.Items[i].Value));
  126. }
  127. LisBoxUser.Items.Add(new ListItem("--------可选人员--------","000000"));
  128. int select = Convert.ToInt32(DepartmentDropList.SelectedItem.Value.ToString(),10);
  129. data = (new DA.ResiveModule()).FillPerson(select);
  130. int p_count = data.Tables["person"].Rows.Count;
  131. for(int j = 0 ; j < p_count; j ++)
  132. {
  133. string person = data.Tables["person"].Rows[j]["EmpName"].ToString();
  134. string personid = data.Tables["person"].Rows[j]["DepID"].ToString() + "*"
  135. + data.Tables["person"].Rows[j]["EmpID"].ToString();
  136. LisBoxUser.Items.Add(new ListItem(person,personid));
  137. }
  138. }
  139. }
  140. #region Web Form Designer generated code
  141. override protected void OnInit(EventArgs e)
  142. {
  143. //
  144. // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
  145. //
  146. InitializeComponent();
  147. base.OnInit(e);
  148. }
  149. /// 设计器支持所需的方法 - 不要使用
  150. /// 代码编辑器修改此方法的内容。
  151. /// </summary>
  152. private void InitializeComponent()
  153. {
  154. this.BranchDropList.SelectedIndexChanged += new System.EventHandler(this.BranchDropList_SelectedIndexChanged);
  155. this.DepartmentDropList.SelectedIndexChanged += new System.EventHandler(this.DepartmentDropList_SelectedIndexChanged);
  156. this.btnDelSend.Click += new System.EventHandler(this.btnDelSend_Click);
  157. this.btnDelAllSend.Click += new System.EventHandler(this.btnDelAllSend_Click);
  158. this.btnDelSecret.Click += new System.EventHandler(this.btnDelSecret_Click);
  159. this.btnDelAllSecret.Click += new System.EventHandler(this.btnDelAllSecret_Click);
  160. this.btnSelSend.ServerClick += new System.EventHandler(this.btnSelSend_ServerClick);
  161. this.btnSelSecret.ServerClick += new System.EventHandler(this.btnSelSecret_ServerClick);
  162. this.Load += new System.EventHandler(this.Page_Load);
  163. }
  164. #endregion
  165. /// <summary>
  166. /// 所选机构变化时的操作
  167. /// </summary>
  168. /// <param name="sender"></param>
  169. /// <param name="e"></param>
  170. private void BranchDropList_SelectedIndexChanged(object sender, System.EventArgs e)
  171. {
  172. AdminDB admin = new AdminDB();
  173. DepartmentDropList.DataSource=admin.GetDepByBranch(Int32.Parse(BranchDropList.SelectedItem.Value));
  174. DepartmentDropList.DataTextField  = "DepName";
  175. DepartmentDropList.DataValueField = "DepID";
  176. DepartmentDropList.DataBind();
  177. LisBoxUser.Items.Clear();
  178. if(DepartmentDropList.Items.Count != 0)
  179. {
  180. DepartmentDropList.Items[0].Selected=true;
  181. LisBoxUser.Items.Add(new ListItem("--------可选部门--------","000000"));;
  182. for(int i = 0; i < DepartmentDropList.Items.Count; i ++)
  183. {
  184. LisBoxUser.Items.Add(new ListItem(DepartmentDropList.Items[i].Text,DepartmentDropList.Items[i].Value));
  185. }
  186. LisBoxUser.Items.Add(new ListItem("--------可选人员--------","000000"));
  187. int select = Convert.ToInt32(DepartmentDropList.SelectedItem.Value.ToString(),10);
  188. data = (new DA.ResiveModule()).FillPerson(select);
  189. int p_count = data.Tables["person"].Rows.Count;
  190. for(int j = 0 ; j < p_count; j ++)
  191. {
  192. string person = data.Tables["person"].Rows[j]["EmpName"].ToString();
  193. string personid = data.Tables["person"].Rows[j]["DepID"].ToString() + "*"
  194. + data.Tables["person"].Rows[j]["EmpID"].ToString();
  195. LisBoxUser.Items.Add(new ListItem(person,personid));  
  196. }
  197. }
  198. }
  199. private void DepartmentDropList_SelectedIndexChanged(object sender, System.EventArgs e)
  200. {
  201. LisBoxUser.Items.Clear();
  202. LisBoxUser.Items.Add(new ListItem("--------可选部门--------","000000"));;
  203. for(int i = 0; i < DepartmentDropList.Items.Count; i ++)
  204. {
  205. LisBoxUser.Items.Add(new ListItem(DepartmentDropList.Items[i].Text,DepartmentDropList.Items[i].Value));
  206. }
  207. LisBoxUser.Items.Add(new ListItem("--------可选人员--------","000000"));
  208. int select = Convert.ToInt32(DepartmentDropList.SelectedItem.Value.ToString(),10);
  209. data = (new DA.ResiveModule()).FillPerson(select);
  210. int p_count = data.Tables["person"].Rows.Count;
  211. for(int j = 0 ; j < p_count; j ++)
  212. {
  213. string person = data.Tables["person"].Rows[j]["EmpName"].ToString();
  214. string personid = data.Tables["person"].Rows[j]["DepID"].ToString() + "*"
  215. + data.Tables["person"].Rows[j]["EmpID"].ToString();
  216. LisBoxUser.Items.Add(new ListItem(person,personid));  
  217. }
  218. }
  219. private void btnSelSend_ServerClick(object sender, System.EventArgs e)
  220. {
  221. if(LisBoxUser.SelectedIndex != -1)
  222. {
  223. AddTo(LisBoxUser,LisBoxSendTo);
  224. }
  225. else
  226. {
  227. Response.Write("<script language='javascript'>alert('请至少选择一个人员或部门!')</script>");
  228. }
  229. }
  230. private void btnDelSend_Click(object sender, System.EventArgs e)
  231. {
  232. DelTo(LisBoxSendTo,"notall");
  233. }
  234. private void btnDelAllSend_Click(object sender, System.EventArgs e)
  235. {
  236. DelTo(LisBoxSendTo,"all");
  237. }
  238. private void btnSelSecret_ServerClick(object sender, System.EventArgs e)
  239. {
  240. if(LisBoxUser.SelectedIndex != -1)
  241. {
  242. AddTo(LisBoxUser,LisBoxSecretTo);
  243. }
  244. else
  245. {
  246. Response.Write("<script language='javascript'>alert('请至少选择一个人员或部门!')</script>");
  247. }
  248. }
  249. private void btnDelSecret_Click(object sender, System.EventArgs e)
  250. {
  251. DelTo(LisBoxSecretTo,"notall");
  252. }
  253. private void btnDelAllSecret_Click(object sender, System.EventArgs e)
  254. {
  255. DelTo(LisBoxSecretTo,"all");
  256. }
  257. public void AddTo(ListBox FromBox,ListBox ToBox)
  258. {
  259. int m_count=FromBox.Items.Count;
  260. int m_index;
  261. string FromValue = string.Empty;
  262. string FromText = string.Empty;
  263. for(m_index = 0; m_index < m_count;m_index ++)
  264. {
  265. if(FromBox.Items[m_index].Selected)
  266. {
  267. FromText=FromBox.Items[m_index].Text;
  268. FromValue=FromBox.Items[m_index].Value;
  269. if(!ToBox.Items.Contains(new ListItem(FromText,FromValue)) 
  270. && FromBox.Items[m_index].Text != "--------可选部门--------"
  271. && FromBox.Items[m_index].Text != "--------可选人员--------")
  272. {
  273. ToBox.Items.Add( new ListItem(FromText,FromValue));
  274. if(FromValue.IndexOf("*") == -1)
  275. {
  276. int count = ToBox.Items.Count;
  277. for(int i = 0; i < count; i ++)
  278. {
  279. string persondepart = ToBox.Items[i].Value;
  280. if(persondepart.IndexOf("*") != -1)
  281. {
  282. char [] seprator = new Char[1];
  283. seprator[0] = '*';
  284. string [] person = persondepart.Split(seprator,2);
  285. if(person[0] == FromValue)
  286. {
  287. ToBox.Items.RemoveAt(i);
  288. count--;
  289. i--;
  290. }
  291. }
  292. }
  293. }
  294. }
  295. }
  296. }
  297. }
  298. public void DelTo(ListBox FromBox,string Type)
  299. {
  300. int m_count=FromBox.Items.Count;
  301. int m_index;
  302. if("notall" == Type)
  303. {
  304. for(m_index=0;m_index<m_count;m_index++)
  305. {
  306. if(FromBox.Items[m_index].Selected)
  307. {
  308. string text = FromBox.Items[m_index].Text;
  309. string Svalue = FromBox.Items[m_index].Value;
  310. FromBox.Items.Remove(new ListItem(text,Svalue));
  311. m_count--;
  312. m_index--;
  313. }
  314. }
  315. }
  316. else
  317. {
  318. FromBox.Items.Clear();
  319. }
  320. }
  321. }
  322. }