| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- using Pur.Entity.configureEntity;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using CoreFS.CA06;
- using Infragistics.Win.UltraWinTree;
- namespace Pur.Pop_upWindow
- {
- public partial class frmPopMatClass : FrmBase
- {
- public UltraTreeNode Q_Ultnode = null;
- string strTips = "";
- public frmPopMatClass(OpeBase ob)
- {
- InitializeComponent();
- this.ob = ob;
- getultree();
- }
- /// <summary>
- /// 选择分类
- /// </summary>
- /// <param name="ob"></param>
- /// <param name="strTips">1:选择物料分类</param>
- public frmPopMatClass(OpeBase ob,string strTips)
- {
- InitializeComponent();
- this.ob = ob;
- this.strTips = strTips;
- getultree();
- }
- /// <summary>
- /// 获取物料分类树形结构
- /// </summary>
- public void getultree()
- {
- PurmatclassEntity mat = new PurmatclassEntity();
- mat.Validflag = "1";
- DataTable dt = this.GetJsonService().execute<DataTable>("com.hnshituo.pur.configure.service.MatClassService", "find", new object[] { mat, 0, 0 });
- if (dt == null || dt.Rows.Count < 1)
- {
- return;
- }
- DataTable dt_A = new DataTable();//物料分类
- //筛选出根节点
- DataRow[] rows = dt.Select("PARENTCODE='' or PARENTCODE is null");
- dt_A = dt.Clone(); //克隆A的结构
- foreach (DataRow row in rows)
- {
- dt_A.ImportRow(row);//复制行数据
- }
- dt_A.DefaultView.Sort = "basename";
- dt_A = dt_A.DefaultView.ToTable();
- //添加物料大类
- for (int j = 0; j < dt_A.Rows.Count; j++)
- {
- if (!ultraTree1.Nodes.Exists(dt_A.Rows[j]["BASECODE"].ToString()))
- {
- UltraTreeNode Ultnode = ultraTree1.Nodes.Add(dt_A.Rows[j]["BASECODE"].ToString(), dt_A.Rows[j]["BASENAME"].ToString());
- getChildNodes(Ultnode, dt);
- }
- }
- }
- /// <summary>
- /// 递归查询父节点下的所有子节点
- /// </summary>
- /// <param name="Tnode"></param>
- public void getChildNodes(UltraTreeNode Tnode, DataTable dt)
- {
- DataTable dt_A = dt.Clone();//物料分类
- DataRow[] rows = dt.Select("PARENTCODE='" + Tnode.Key + "'");
- foreach (DataRow row in rows)
- {
- dt_A.ImportRow(row);//复制行数据
- }
- dt_A.DefaultView.Sort = "basename";
- dt_A = dt_A.DefaultView.ToTable();
- //添加物料分类
- for (int j = 0; j < dt_A.Rows.Count; j++)
- {
- UltraTreeNode Ultnode = Tnode.Nodes.Add(dt_A.Rows[j]["BASECODE"].ToString(), dt_A.Rows[j]["BASENAME"].ToString());
- getChildNodes(Ultnode, dt);//利用递归将当前节点的子节点添加进去
- }
- }
- private void ultraTree1_AfterActivate(object sender, NodeEventArgs e)
- {
- UltraTreeNode Ultnode = ultraTree1.ActiveNode;
- Ultnode.Expanded = true;
- }
- private void ultraTree1_DoubleClick(object sender, EventArgs e)
- {
- if (strTips=="1")
- {
- if(ultraTree1.ActiveNode.Key.Length!=5)
- {
- MessageBox.Show("请选择物料小类");
- return;
- }
- }
- Q_Ultnode = ultraTree1.ActiveNode;
- this.Close();
- }
- }
- }
|