index.aspx.cs
上传用户:cha0314
上传日期:2014-03-02
资源大小:12522k
文件大小:11k
源码类别:

C#编程

开发平台:

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 UDS.SubModule.Linkman.Search
  13. {
  14. /// <summary>
  15. /// index 的摘要说明。
  16. /// </summary>
  17. public class index : System.Web.UI.Page
  18. {
  19. protected System.Web.UI.WebControls.DropDownList ddl_SearchType;
  20. protected System.Web.UI.HtmlControls.HtmlTable tbl_StaffSearch;
  21. protected System.Web.UI.HtmlControls.HtmlTable tbl_LinkmanSearch;
  22. protected System.Web.UI.HtmlControls.HtmlTable tbl_CutomSearch;
  23. protected System.Web.UI.WebControls.TextBox tbx_StaffMobile;
  24. protected System.Web.UI.WebControls.TextBox tbx_StaffEmail;
  25. protected System.Web.UI.WebControls.TextBox tbx_StaffName;
  26. protected System.Web.UI.WebControls.TextBox tbx_LinkmanName;
  27. protected System.Web.UI.WebControls.TextBox tbx_Telephone;
  28. protected System.Web.UI.WebControls.TextBox tbx_LinkmanUnit;
  29. protected System.Web.UI.WebControls.TextBox tbx_LinkmanEmail;
  30. protected System.Web.UI.WebControls.TextBox tbx_LinkmanMobile;
  31. protected System.Web.UI.WebControls.TextBox tbx_LinkmanPosition;
  32. protected System.Web.UI.WebControls.DropDownList ddl_LinkmanGender;
  33. protected System.Web.UI.WebControls.TextBox tbx_CutomName;
  34. protected System.Web.UI.WebControls.DropDownList ddl_CustomGender;
  35. protected System.Web.UI.WebControls.TextBox tbx_CutomEmail;
  36. protected System.Web.UI.WebControls.TextBox tbx_CutomMobile;
  37. protected System.Web.UI.WebControls.DropDownList ddl_CustomCatalog;
  38. protected System.Web.UI.WebControls.Button btn_OK;
  39. protected System.Web.UI.WebControls.DropDownList ddl_StaffPosition;
  40. protected System.Web.UI.WebControls.DataGrid dgrd_Staff;
  41. protected System.Web.UI.WebControls.DataGrid dgrd_Linkman;
  42. protected System.Web.UI.WebControls.DataGrid dgrd_Custom;
  43. protected System.Web.UI.WebControls.DropDownList ddl_StaffGender;
  44. private void Page_Load(object sender, System.EventArgs e)
  45. {
  46. if(!Page.IsPostBack)
  47. {
  48. tbl_StaffSearch.Visible = true;
  49. tbl_LinkmanSearch.Visible = false;
  50. tbl_CutomSearch.Visible = false;
  51. BindCutomTypeList();
  52. BindStaffPosition();
  53. }
  54. else
  55. {
  56. }
  57. }
  58. private void BindCutomTypeList()
  59. {
  60. UDS.Components.MyLinkman mylinkman = new UDS.Components.MyLinkman();
  61. ddl_CustomCatalog.DataSource = mylinkman.GetCustomLinkmanType();
  62. ddl_CustomCatalog.DataTextField = "Type";
  63. ddl_CustomCatalog.DataValueField = "ID";
  64. ddl_CustomCatalog.DataBind();
  65. ddl_CustomCatalog.Items.Insert(0,new ListItem("无限制","0"));
  66. }
  67. private void BindStaffPosition()
  68. {
  69. UDS.Components.Staff staff = new UDS.Components.Staff();
  70. ddl_StaffPosition.DataSource = staff.GetAllPosition();
  71. ddl_StaffPosition.DataTextField = "Position_Name";
  72. ddl_StaffPosition.DataValueField = "Position_ID";
  73. ddl_StaffPosition.DataBind();
  74. ddl_StaffPosition.Items.Insert(0,new ListItem("无限制","0"));
  75. }
  76. #region Web 窗体设计器生成的代码
  77. override protected void OnInit(EventArgs e)
  78. {
  79. //
  80. // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
  81. //
  82. InitializeComponent();
  83. base.OnInit(e);
  84. }
  85. /// <summary>
  86. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  87. /// 此方法的内容。
  88. /// </summary>
  89. private void InitializeComponent()
  90. {    
  91. this.ddl_SearchType.SelectedIndexChanged += new System.EventHandler(this.ddl_SearchType_SelectedIndexChanged);
  92. this.btn_OK.Click += new System.EventHandler(this.btn_OK_Click);
  93. this.Load += new System.EventHandler(this.Page_Load);
  94. }
  95. #endregion
  96. private void ddl_SearchType_SelectedIndexChanged(object sender, System.EventArgs e)
  97. {
  98. switch(ddl_SearchType.SelectedValue)
  99. {
  100. case "staff":
  101. tbl_StaffSearch.Visible = true;
  102. tbl_LinkmanSearch.Visible = false;
  103. tbl_CutomSearch.Visible = false;
  104. break;
  105. case "linkman":
  106. tbl_StaffSearch.Visible = false;
  107. tbl_LinkmanSearch.Visible = true;
  108. tbl_CutomSearch.Visible = false;
  109. break;
  110. case "custom":
  111. tbl_StaffSearch.Visible = false;
  112. tbl_LinkmanSearch.Visible = false;
  113. tbl_CutomSearch.Visible = true;
  114. break;
  115. }
  116. }
  117. private void btn_OK_Click(object sender, System.EventArgs e)
  118. {
  119. UDS.Components.MyLinkman linkman = new UDS.Components.MyLinkman();
  120. SqlDataReader dr_linkman;
  121. DataTable dt_linkman = new DataTable();
  122. string filter = "";
  123. switch(ddl_SearchType.SelectedValue)
  124. {
  125. case "staff":
  126. dr_linkman = linkman.GetMyLinkman(1,Int32.Parse(Request.Cookies["UserID"].Value));
  127. if(tbx_StaffName.Text.Trim()!="")
  128. {
  129. filter = (filter=="")?("RealName LIKE '*"+tbx_StaffName.Text.Trim()+"*'"):filter+" and RealName LIKE '*"+tbx_StaffName.Text.Trim()+"*'";
  130. }
  131. if(tbx_StaffMobile.Text.Trim()!="")
  132. {
  133. filter = (filter=="")?("Mobile LIKE '*"+tbx_StaffMobile.Text.Trim()+"*'"):filter+" and Mobile LIKE '*"+tbx_StaffMobile.Text.Trim()+"*'";
  134. }
  135. if(ddl_StaffGender.SelectedValue!="0")
  136. {
  137. if(ddl_StaffGender.SelectedValue=="male")
  138. {
  139. if(filter=="")
  140. filter = "Sex=True";
  141. else
  142. filter += " and Sex=True";
  143. }
  144. else
  145. {
  146. if(filter=="")
  147. filter = "Sex=False";
  148. else
  149. filter += " and Sex=False";
  150. }
  151. }
  152. if(tbx_StaffEmail.Text.Trim()!="")
  153. {
  154. filter = (filter=="")?("Email LIKE '*"+tbx_StaffEmail.Text.Trim()+"'"):filter+" and Email LIKE '*"+tbx_StaffEmail.Text.Trim()+"*'";
  155. }
  156. if(ddl_StaffPosition.SelectedValue!="0")
  157. {
  158. filter = (filter=="")?("Position_ID="+ddl_StaffPosition.SelectedValue):filter+" and Position_ID="+ddl_StaffPosition.SelectedValue;
  159. }
  160. dt_linkman = UDS.Components.Tools.ConvertDataReaderToDataTable(dr_linkman);
  161. try
  162. {
  163. dt_linkman.DefaultView.RowFilter = filter;
  164. dgrd_Staff.DataSource = dt_linkman.DefaultView;
  165. dgrd_Staff.DataBind();
  166. }
  167. catch(Exception ex)
  168. {
  169. Response.Write(filter+ "   "+ex.Message);
  170. }
  171. dgrd_Staff.Visible = true;
  172. dgrd_Linkman.Visible = false;
  173. dgrd_Custom.Visible = false;
  174. break;
  175. case "linkman":
  176. dr_linkman = linkman.GetMyLinkman(2,Int32.Parse(Request.Cookies["UserID"].Value));
  177. if(tbx_LinkmanName.Text.Trim()!="")
  178. {
  179. filter = (filter=="")?("Name LIKE '*"+tbx_LinkmanName.Text.Trim()+"*'"):filter+" and Name LIKE '*"+tbx_LinkmanName.Text.Trim()+"*'";
  180. }
  181. if(tbx_Telephone.Text.Trim()!="")
  182. {
  183. filter = (filter=="")?("Telephone LIKE '*"+tbx_Telephone.Text.Trim()+"*'"):filter+" and Telephone LIKE '*"+tbx_Telephone.Text.Trim()+"*'";
  184. }
  185. if(ddl_LinkmanGender.SelectedValue!="0")
  186. {
  187. if(ddl_LinkmanGender.SelectedValue=="male")
  188. {
  189. if(filter=="")
  190. filter = "Gender=True";
  191. else
  192. filter += " and Gender=True";
  193. }
  194. else
  195. {
  196. if(filter=="")
  197. filter = "Gender=False";
  198. else
  199. filter += " and Gender=False";
  200. }
  201. }
  202. if(tbx_LinkmanEmail.Text.Trim()!="")
  203. {
  204. filter = (filter=="")?("Email LIKE '*"+tbx_LinkmanEmail.Text.Trim()+"*'"):filter+" and Email LIKE '*"+tbx_LinkmanEmail.Text.Trim()+"*'";
  205. }
  206. if(tbx_LinkmanUnit.Text.Trim()!="")
  207. {
  208. filter = (filter=="")?("UnitName LIKE '*"+tbx_LinkmanUnit.Text.Trim()+"*'"):filter+" AND UnitName LIKE '*"+tbx_LinkmanUnit.Text.Trim()+"*'";
  209. }
  210. if(tbx_LinkmanPosition.Text.Trim()!="")
  211. {
  212. filter = (filter=="")?("Position LIKE '*"+tbx_LinkmanPosition.Text.Trim()+"*'"):filter+" AND Position LIKE '*"+tbx_LinkmanPosition.Text.Trim()+"*'";
  213. }
  214. if(tbx_LinkmanMobile.Text.Trim()!="")
  215. {
  216. filter = (filter=="")?("Mobile LIKE '*"+tbx_LinkmanMobile.Text.Trim()+"*'"):filter+" AND Mobile LIKE '*"+tbx_LinkmanMobile.Text.Trim()+"*'";
  217. }
  218. dt_linkman = UDS.Components.Tools.ConvertDataReaderToDataTable(dr_linkman);
  219. try
  220. {
  221. dt_linkman.DefaultView.RowFilter = filter;
  222. dgrd_Linkman.DataSource = dt_linkman.DefaultView;
  223. dgrd_Linkman.DataBind();
  224. }
  225. catch(Exception ex)
  226. {
  227. Response.Write(filter+ "   "+ex.Message);
  228. }
  229. dgrd_Staff.Visible = false;
  230. dgrd_Linkman.Visible = true;
  231. dgrd_Custom.Visible = false;
  232. break;
  233. case "custom":
  234. DataSet ds = new DataSet();
  235. dr_linkman = linkman.GetMyLinkman(3,Int32.Parse(Request.Cookies["UserID"].Value));
  236. if(tbx_CutomName.Text.Trim()!="")
  237. {
  238. filter = (filter=="")?("Name LIKE '*"+tbx_CutomName.Text.Trim()+"*'"):filter+" and Name LIKE '*"+tbx_CutomName.Text.Trim()+"*'";
  239. }
  240. if(ddl_CustomGender.SelectedValue!="0")
  241. {
  242. if(ddl_CustomGender.SelectedValue=="male")
  243. {
  244. if(filter=="")
  245. filter = "Gender=True";
  246. else
  247. filter += " and Gender=True";
  248. }
  249. else
  250. {
  251. if(filter=="")
  252. filter = "Gender=False";
  253. else
  254. filter += " and Gender=False";
  255. }
  256. }
  257. if(tbx_CutomEmail.Text.Trim()!="")
  258. {
  259. filter = (filter=="")?("Email LIKE '*"+tbx_CutomEmail.Text.Trim()+"*'"):filter+" and Email LIKE '*"+tbx_CutomEmail.Text.Trim()+"*'";
  260. }
  261. if(tbx_CutomMobile.Text.Trim()!="")
  262. {
  263. filter = (filter=="")?("Mobile LIKE '*"+tbx_CutomMobile.Text.Trim()+"*'"):filter+" AND Mobile LIKE '*"+tbx_CutomMobile.Text.Trim()+"*'";
  264. }
  265. if(ddl_CustomCatalog.SelectedValue!="0")
  266. {
  267. SqlDataReader dr_linkmantype = linkman.GetLinkmanTypeRelation();
  268. //DataTable dt_linkmantype = UDS.Components.Tools.ConvertDataReaderToDataTable(dr_linkmantype);
  269. //得到满足分类的联系人id
  270. string ids = "";
  271. while(dr_linkmantype.Read())
  272. {
  273. if(Convert.ToInt32(dr_linkmantype["TypeID"])==Int32.Parse(ddl_CustomCatalog.SelectedValue))
  274. {
  275. ids += dr_linkmantype["CustomLinkmanID"].ToString() + ",";
  276. }
  277. }
  278. if(ids!="")
  279. ids = ids.Substring(0,ids.Length-1);
  280. filter = (filter=="")?("ID IN ("+ids+")"):(filter+" AND ID IN ("+ids+")");
  281. }
  282. dt_linkman = UDS.Components.Tools.ConvertDataReaderToDataTable(dr_linkman);
  283. try
  284. {
  285. dt_linkman.DefaultView.RowFilter = filter;
  286. dgrd_Custom.DataSource = dt_linkman.DefaultView;
  287. dgrd_Custom.DataBind();
  288. }
  289. catch(Exception ex)
  290. {
  291. Response.Write(filter+ "   "+ex.Message);
  292. }
  293. dgrd_Staff.Visible = false;
  294. dgrd_Linkman.Visible = false;
  295. dgrd_Custom.Visible = true;
  296. break;
  297. }
  298. }
  299. }
  300. }