frmdepartment.cs 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using Infragistics.Win.UltraWinTree;
  10. using CoreFS.CA06;using Pur.Entity;
  11. namespace Pur.configure
  12. {
  13. public partial class frmdepartment :FrmPmsBase
  14. {
  15. /** 采购科室代码 */
  16. private string buyerUnitCode;
  17. /// <summary>
  18. /// 采购科室代码
  19. /// </summary>
  20. public string BuyerUnitCode
  21. {
  22. get { return buyerUnitCode; }
  23. set { buyerUnitCode = value; }
  24. }
  25. /// <summary>
  26. /// 完整路径
  27. /// </summary>
  28. private string fulltext;
  29. public string Fulltext
  30. {
  31. get { return fulltext; }
  32. set { fulltext = value; }
  33. }
  34. /** 采购科室描叙 */
  35. private string buyerUnitDesc;
  36. /// <summary>
  37. /// 采购科室描叙
  38. /// </summary>
  39. public string BuyerUnitDesc
  40. {
  41. get { return buyerUnitDesc; }
  42. set { buyerUnitDesc = value; }
  43. }
  44. DataTable dt_Purmatclass = null;
  45. public frmdepartment(OpeBase ob)
  46. {
  47. InitializeComponent();
  48. this.ob = ob;
  49. DataTable dt = this.execute<DataTable>("com.hnshituo.core.service.AppDepartmentService", "findAll", new object[] { });
  50. getultree(dt);
  51. }
  52. /// <summary>
  53. /// 获取物料分类树形结构
  54. /// </summary>
  55. public void getultree(DataTable dt)
  56. {
  57. ulTreeDepartment.Nodes.Clear();
  58. if (dt == null || dt.Rows.Count < 1)
  59. {
  60. return;
  61. }
  62. dt_Purmatclass = dt;//保存物料分类全局变量
  63. DataTable dt_A = new DataTable();//物料分类
  64. //筛选出根节点
  65. DataRow[] rows = dt.Select("PID='' or PID is null and DEPARTNAME <> '湖南视拓'");
  66. dt_A = dt.Clone(); //克隆A的结构
  67. foreach (DataRow row in rows)
  68. {
  69. dt_A.ImportRow(row);//复制行数据
  70. }
  71. //添加物料大类
  72. for (int j = 0; j < dt_A.Rows.Count; j++)
  73. {
  74. UltraTreeNode Ultnode = ulTreeDepartment.Nodes.Add(dt_A.Rows[j]["DEPARTID"].ToString(), dt_A.Rows[j]["DEPARTNAME"].ToString());
  75. getChildNodes(Ultnode);
  76. }
  77. foreach (UltraTreeNode Ultnode in ulTreeDepartment.Nodes)
  78. {
  79. Ultnode.Expanded = true;
  80. }
  81. }
  82. /// <summary>
  83. /// 递归查询父节点下的所有子节点
  84. /// </summary>
  85. /// <param name="Tnode"></param>
  86. public void getChildNodes(UltraTreeNode Tnode)
  87. {
  88. DataTable dt_A = dt_Purmatclass.Clone();//物料分类
  89. DataRow[] rows = dt_Purmatclass.Select("PID='" + Tnode.Key + "'");
  90. foreach (DataRow row in rows)
  91. {
  92. dt_A.ImportRow(row);//复制行数据
  93. }
  94. //添加物料分类
  95. for (int j = 0; j < dt_A.Rows.Count; j++)
  96. {
  97. UltraTreeNode Ultnode = Tnode.Nodes.Add(dt_A.Rows[j]["DEPARTID"].ToString(), dt_A.Rows[j]["DEPARTNAME"].ToString());
  98. getChildNodes(Ultnode);//利用递归将当前节点的子节点添加进去
  99. }
  100. }
  101. ///// <summary>
  102. ///// 选择节点
  103. ///// </summary>
  104. ///// <param name="sender"></param>
  105. ///// <param name="e"></param>
  106. //private void ulTreeDepartment_AfterSelect(object sender, SelectEventArgs e)
  107. //{
  108. // buyerUnitCode = ulTreeDepartment.ActiveNode.Key;
  109. // buyerUnitDesc = ulTreeDepartment.ActiveNode.Text;
  110. // fulltext = ulTreeDepartment.ActiveNode.Parent == null ? "" : ulTreeDepartment.ActiveNode.Parent.Text;
  111. // fulltext = fulltext + "/" + buyerUnitDesc;
  112. // this.Close();
  113. //}
  114. private void frmdepartment_Load(object sender, EventArgs e)
  115. {
  116. }
  117. /// <summary>
  118. /// 选择节点
  119. /// </summary>
  120. /// <param name="sender"></param>
  121. /// <param name="e"></param>
  122. private void ulTreeDepartment_DoubleClick(object sender, EventArgs e)
  123. {
  124. buyerUnitCode = ulTreeDepartment.ActiveNode.Key;
  125. buyerUnitDesc = ulTreeDepartment.ActiveNode.Text;
  126. fulltext = ulTreeDepartment.ActiveNode.Parent == null ? "" : ulTreeDepartment.ActiveNode.Parent.Text;
  127. fulltext = fulltext + "/" + buyerUnitDesc;
  128. this.Close();
  129. }
  130. private void select_item_Click(object sender, EventArgs e)
  131. {
  132. buyerUnitCode = ulTreeDepartment.ActiveNode.Key;
  133. buyerUnitDesc = ulTreeDepartment.ActiveNode.Text;
  134. fulltext = ulTreeDepartment.ActiveNode.Parent == null ? "" : ulTreeDepartment.ActiveNode.Parent.Text;
  135. fulltext = fulltext + "/" + buyerUnitDesc;
  136. this.Close();
  137. }
  138. private void clear_item_Click(object sender, EventArgs e)
  139. {
  140. buyerUnitCode = "";
  141. buyerUnitDesc = "";
  142. fulltext = "";
  143. this.Close();
  144. }
  145. }
  146. }