f9829a71779f522d218cee31e466a4d9b794b9c1.svn-base 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. using System;
  2. using System.Drawing;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Windows.Forms;
  6. using Core.Mes.ClientFrameWork;
  7. using Core.Mes.IBaseInterface;
  8. //using Core.Mes.ServerFrameWork;
  9. using System.Data;
  10. using Infragistics.Win.UltraWinTree;
  11. namespace Core.Mes.ClientPurviewManager
  12. {
  13. /// <summary>
  14. /// FrmSelUserID 的摘要说明。
  15. /// </summary>
  16. public class FrmSelUserID : System.Windows.Forms.Form
  17. {
  18. private Infragistics.Win.UltraWinListBar.UltraListBar ultraListBar1;
  19. private Infragistics.Win.UltraWinEditors.UltraTextEditor ultraTextEditor1;
  20. private Infragistics.Win.Misc.UltraButton btnOK;
  21. private Infragistics.Win.Misc.UltraButton btnCancle;
  22. private Core.Mes.ClientPurviewManager.UcDepartment ucDepartment1;
  23. /// <summary>
  24. /// 必需的设计器变量。
  25. /// </summary>
  26. private System.ComponentModel.Container components = null;
  27. public FrmSelUserID()
  28. {
  29. //
  30. // Windows 窗体设计器支持所必需的
  31. //
  32. InitializeComponent();
  33. //
  34. // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
  35. //
  36. }
  37. /// <summary>
  38. /// 清理所有正在使用的资源。
  39. /// </summary>
  40. protected override void Dispose( bool disposing )
  41. {
  42. if( disposing )
  43. {
  44. if(components != null)
  45. {
  46. components.Dispose();
  47. }
  48. }
  49. base.Dispose( disposing );
  50. }
  51. #region Windows 窗体设计器生成的代码
  52. /// <summary>
  53. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  54. /// 此方法的内容。
  55. /// </summary>
  56. private void InitializeComponent()
  57. {
  58. System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmSelUserID));
  59. Infragistics.Win.UltraWinListBar.Group group1 = new Infragistics.Win.UltraWinListBar.Group(true);
  60. Infragistics.Win.UltraWinListBar.Group group2 = new Infragistics.Win.UltraWinListBar.Group();
  61. Infragistics.Win.UltraWinListBar.Group group3 = new Infragistics.Win.UltraWinListBar.Group();
  62. Infragistics.Win.UltraWinListBar.Group group4 = new Infragistics.Win.UltraWinListBar.Group();
  63. Infragistics.Win.UltraWinListBar.Group group5 = new Infragistics.Win.UltraWinListBar.Group();
  64. Infragistics.Win.UltraWinListBar.Group group6 = new Infragistics.Win.UltraWinListBar.Group();
  65. Infragistics.Win.UltraWinListBar.Group group7 = new Infragistics.Win.UltraWinListBar.Group();
  66. this.ultraListBar1 = new Infragistics.Win.UltraWinListBar.UltraListBar();
  67. this.ultraTextEditor1 = new Infragistics.Win.UltraWinEditors.UltraTextEditor();
  68. this.btnOK = new Infragistics.Win.Misc.UltraButton();
  69. this.btnCancle = new Infragistics.Win.Misc.UltraButton();
  70. this.ucDepartment1 = new Core.Mes.ClientPurviewManager.UcDepartment();
  71. ((System.ComponentModel.ISupportInitialize)(this.ultraTextEditor1)).BeginInit();
  72. this.SuspendLayout();
  73. //
  74. // ultraListBar1
  75. //
  76. this.ultraListBar1.DefaultIcon = ((System.Drawing.Icon)(resources.GetObject("ultraListBar1.DefaultIcon")));
  77. this.ultraListBar1.DefaultStyle = Infragistics.Win.UltraWinListBar.Style.SmallIcons;
  78. this.ultraListBar1.FlatMode = true;
  79. this.ultraListBar1.GroupHeadersVisible = false;
  80. group1.Style = Infragistics.Win.UltraWinListBar.Style.SmallIcons;
  81. group1.Text = "员工姓名";
  82. group2.Style = Infragistics.Win.UltraWinListBar.Style.SmallIcons;
  83. group3.Style = Infragistics.Win.UltraWinListBar.Style.SmallIcons;
  84. group4.Style = Infragistics.Win.UltraWinListBar.Style.SmallIcons;
  85. group5.Style = Infragistics.Win.UltraWinListBar.Style.SmallIcons;
  86. group6.Style = Infragistics.Win.UltraWinListBar.Style.SmallIcons;
  87. group7.Style = Infragistics.Win.UltraWinListBar.Style.SmallIcons;
  88. this.ultraListBar1.Groups.Add(group1);
  89. this.ultraListBar1.Groups.Add(group2);
  90. this.ultraListBar1.Groups.Add(group3);
  91. this.ultraListBar1.Groups.Add(group4);
  92. this.ultraListBar1.Groups.Add(group5);
  93. this.ultraListBar1.Groups.Add(group6);
  94. this.ultraListBar1.Groups.Add(group7);
  95. this.ultraListBar1.Location = new System.Drawing.Point(196, 1);
  96. this.ultraListBar1.Name = "ultraListBar1";
  97. this.ultraListBar1.Size = new System.Drawing.Size(164, 475);
  98. this.ultraListBar1.ItemSelected += new Infragistics.Win.UltraWinListBar.ItemEventHandler(this.ultraListBar1_ItemSelected);
  99. //
  100. // ultraTextEditor1
  101. //
  102. this.ultraTextEditor1.AutoSize = true;
  103. this.ultraTextEditor1.Location = new System.Drawing.Point(219, 490);
  104. this.ultraTextEditor1.Name = "ultraTextEditor1";
  105. this.ultraTextEditor1.Size = new System.Drawing.Size(120, 21);
  106. this.ultraTextEditor1.TabIndex = 1;
  107. //
  108. // btnOK
  109. //
  110. this.btnOK.Location = new System.Drawing.Point(205, 524);
  111. this.btnOK.Name = "btnOK";
  112. this.btnOK.Size = new System.Drawing.Size(64, 26);
  113. this.btnOK.TabIndex = 2;
  114. this.btnOK.Text = "确定";
  115. this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
  116. //
  117. // btnCancle
  118. //
  119. this.btnCancle.Location = new System.Drawing.Point(285, 524);
  120. this.btnCancle.Name = "btnCancle";
  121. this.btnCancle.Size = new System.Drawing.Size(64, 26);
  122. this.btnCancle.TabIndex = 3;
  123. this.btnCancle.Text = "取消";
  124. this.btnCancle.Click += new System.EventHandler(this.btnCancle_Click);
  125. //
  126. // ucDepartment1
  127. //
  128. this.ucDepartment1.Dock = System.Windows.Forms.DockStyle.Left;
  129. this.ucDepartment1.Location = new System.Drawing.Point(0, 0);
  130. this.ucDepartment1.Name = "ucDepartment1";
  131. this.ucDepartment1.Size = new System.Drawing.Size(192, 564);
  132. this.ucDepartment1.TabIndex = 0;
  133. //
  134. // FrmSelUserID
  135. //
  136. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  137. this.ClientSize = new System.Drawing.Size(360, 564);
  138. this.Controls.Add(this.ucDepartment1);
  139. this.Controls.Add(this.btnCancle);
  140. this.Controls.Add(this.btnOK);
  141. this.Controls.Add(this.ultraTextEditor1);
  142. this.Controls.Add(this.ultraListBar1);
  143. this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
  144. this.MaximizeBox = false;
  145. this.MinimizeBox = false;
  146. this.Name = "FrmSelUserID";
  147. this.ShowInTaskbar = false;
  148. this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
  149. this.Text = "员工姓名";
  150. this.Load += new System.EventHandler(this.FrmSelUserID_Load);
  151. ((System.ComponentModel.ISupportInitialize)(this.ultraTextEditor1)).EndInit();
  152. this.ResumeLayout(false);
  153. }
  154. #endregion
  155. #region " Valiable "
  156. public string _currSelectID;
  157. public bool _changFlag = false;
  158. public DataSet _userData;
  159. public DataSet _departmentData;
  160. #endregion
  161. private void ultraListBar1_ItemSelected(object sender, Infragistics.Win.UltraWinListBar.ItemEventArgs e)
  162. {
  163. this.ultraTextEditor1.Text = e.Item.Text ;
  164. this.ultraTextEditor1.Tag = e.Item.Key ;
  165. }
  166. private void btnOK_Click(object sender, System.EventArgs e)
  167. {
  168. _changFlag = false;
  169. if (this.ultraTextEditor1.Tag != null)
  170. {
  171. if (this._currSelectID == this.ultraTextEditor1.Tag .ToString())
  172. {
  173. _changFlag = false;
  174. }
  175. else
  176. {
  177. _changFlag = true;
  178. _currSelectID = this.ultraTextEditor1.Tag .ToString();
  179. }
  180. }
  181. this.Close();
  182. }
  183. private void btnCancle_Click(object sender, System.EventArgs e)
  184. {
  185. _changFlag = false;
  186. this.Close();
  187. }
  188. private void ChangDepart(string strWhere)
  189. {
  190. try
  191. {
  192. string strFilter = GetRefreshWhereUser(strWhere);
  193. this._userData.Tables[0].DefaultView.RowFilter = strFilter;
  194. this._userData.Tables[0].DefaultView.Sort = "NAME";
  195. this.ultraListBar1.Groups[0].Items.Clear();
  196. foreach (DataRowView myDRV in this._userData.Tables[0].DefaultView)
  197. {
  198. try
  199. {
  200. this.ultraListBar1.Groups[0].Items.Add((string)myDRV["USERID"],(string)myDRV["NAME"]);
  201. }
  202. catch{}
  203. }
  204. }
  205. catch (Exception ex)
  206. {
  207. Console.WriteLine(ex.Message);
  208. this._userData.Tables[0].DefaultView.RowFilter = "1=2";
  209. }
  210. }
  211. private string GetRefreshWhereUser(string strWhere)
  212. {
  213. string sqlstr = "";
  214. ArrayList al = this.GetUserID(strWhere);
  215. if (al == null || al.Count == 0)
  216. {
  217. sqlstr = "1=2";
  218. }
  219. else
  220. {
  221. sqlstr += " USERID in ('" + al[0].ToString() + "'";
  222. for (int i = 1 ; i < al.Count ; i++)
  223. {
  224. sqlstr += ", '" + al[i].ToString() + "' ";
  225. }
  226. sqlstr += ")";
  227. }
  228. return sqlstr;
  229. }
  230. private ArrayList GetUserID(string strWhere)
  231. {
  232. ArrayList al = new ArrayList();
  233. DataTable dt = null;
  234. if (this._userData == null)
  235. dt = null;
  236. else
  237. dt = this._userData.Tables[0];
  238. if (dt != null)
  239. {
  240. string strFilter = "DEPARTMENTID in (" + strWhere + ")";
  241. dt.DefaultView.RowFilter = strFilter;
  242. for(int i =0; i < dt.DefaultView.Count ; i++)
  243. {
  244. al.Add(dt.DefaultView[i]["USERID"].ToString());
  245. }
  246. return al;
  247. }
  248. else
  249. return null;
  250. }
  251. private void FrmSelUserID_Load(object sender, System.EventArgs e)
  252. {
  253. this.ucDepartment1._departmentData = this._departmentData;
  254. this.ucDepartment1.RefreshTree();
  255. this.ucDepartment1.ultraTree1.ExpandAll();
  256. this.ucDepartment1.ultraTree1.AfterSelect += new Infragistics.Win.UltraWinTree.AfterNodeSelectEventHandler(ultraTree1_AfterSelect);
  257. if (ucDepartment1.ultraTree1.Nodes.Count > 0) ucDepartment1.ultraTree1.Nodes[0].Selected = true;
  258. }
  259. private void ultraTree1_AfterSelect(object sender, Infragistics.Win.UltraWinTree.SelectEventArgs e)
  260. {
  261. if (e.NewSelections == null || e.NewSelections.Count == 0)
  262. {}
  263. else
  264. {
  265. string str = "'" + e.NewSelections[0].Key + "'";
  266. str = GetSelectedID(ref str, e.NewSelections[0]);
  267. ChangDepart(str);
  268. }
  269. }
  270. private string GetSelectedID(ref string str, UltraTreeNode utn)
  271. {
  272. try
  273. {
  274. foreach(UltraTreeNode ut in utn.Nodes )
  275. {
  276. str += ",'" + ut.Key + "'";
  277. if (ut.Nodes.Count > 0)
  278. GetSelectedID(ref str, ut);
  279. }
  280. return str;
  281. }
  282. catch
  283. {
  284. return "";
  285. }
  286. }
  287. }
  288. }