FrmMatClassPop-ups.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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 CoreFS.CA06;using Pur.Entity;
  10. using Infragistics.Win.UltraWinTree;
  11. using Pur.Entity.configureEntity;
  12. using Pur.Entity;
  13. namespace Pur.configure
  14. {
  15. public partial class FrmMatClassPop_ups : FrmPmsBase
  16. {
  17. public FrmMatClassPop_ups(OpeBase ob)
  18. {
  19. InitializeComponent();
  20. this.ob = ob;
  21. }
  22. private string basecode;
  23. public string Basecode
  24. {
  25. get { return basecode; }
  26. set { basecode = value; }
  27. }
  28. private string basename;
  29. public string Basename
  30. {
  31. get { return basename; }
  32. set { basename = value; }
  33. }
  34. DataTable dt_Purmatclass = null;
  35. private void FrmMatClassPop_ups_Load(object sender, EventArgs e)
  36. {
  37. ultraTree1.Nodes.Clear();
  38. PurmatclassEntity entity = new PurmatclassEntity();
  39. entity.Validflag = "1";
  40. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.configure.service.MatClassService", "find", new object[] { entity,0,0 });
  41. if (dt == null || dt.Rows.Count < 1)
  42. {
  43. return;
  44. }
  45. dt_Purmatclass = dt;//保存物料分类全局变量
  46. DataTable dt_A = new DataTable();//物料分类
  47. DataRow[] sel_dt = dt.Select("PARENTCODE = '' or PARENTCODE is null");
  48. dt_A = dt.Clone(); //克隆A的结构
  49. foreach (DataRow sel_dtB in sel_dt)
  50. {
  51. dt_A.ImportRow(sel_dtB);
  52. }
  53. for (int j = 0; j < dt_A.Rows.Count; j++)
  54. {
  55. UltraTreeNode Ultnode = ultraTree1.Nodes.Add(dt_A.Rows[j]["BASECODE"].ToString(), dt_A.Rows[j]["BASENAME"].ToString());
  56. getChildNodes(Ultnode);
  57. }
  58. foreach (UltraTreeNode Ultnode in ultraTree1.Nodes)
  59. {
  60. Ultnode.Expanded = true;
  61. }
  62. }
  63. private void getChildNodes(UltraTreeNode Tnode)
  64. {
  65. DataTable dt_A = dt_Purmatclass.Clone();//物料分类
  66. DataRow[] rows = dt_Purmatclass.Select("PARENTCODE='" + Tnode.Key + "'");
  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 = Tnode.Nodes.Add(dt_A.Rows[j]["BASECODE"].ToString(), dt_A.Rows[j]["BASENAME"].ToString());
  75. getChildNodes(Ultnode);//利用递归将当前节点的子节点添加进去
  76. }
  77. }
  78. /// <summary>
  79. /// 选择节点
  80. /// </summary>
  81. /// <param name="sender"></param>
  82. /// <param name="e"></param>
  83. private void ultraTree1_AfterSelect(object sender, SelectEventArgs e)
  84. {
  85. basecode = ultraTree1.ActiveNode.Key;
  86. basename = ultraTree1.ActiveNode.Text;
  87. this.Close();
  88. }
  89. private void btn_clear_Click(object sender, EventArgs e)
  90. {
  91. basecode = "";
  92. basename = "";
  93. this.Close();
  94. }
  95. }
  96. }