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 Infragistics.Win.UltraWinTree; using CoreFS.CA06;using Pur.Entity; namespace Pur.configure { public partial class frmdepartment :FrmPmsBase { /** 采购科室代码 */ private string buyerUnitCode; /// /// 采购科室代码 /// public string BuyerUnitCode { get { return buyerUnitCode; } set { buyerUnitCode = value; } } /// /// 完整路径 /// private string fulltext; public string Fulltext { get { return fulltext; } set { fulltext = value; } } /** 采购科室描叙 */ private string buyerUnitDesc; /// /// 采购科室描叙 /// public string BuyerUnitDesc { get { return buyerUnitDesc; } set { buyerUnitDesc = value; } } DataTable dt_Purmatclass = null; public frmdepartment(OpeBase ob) { InitializeComponent(); this.ob = ob; DataTable dt = this.execute("com.hnshituo.core.service.AppDepartmentService", "findAll", new object[] { }); getultree(dt); } /// /// 获取物料分类树形结构 /// public void getultree(DataTable dt) { ulTreeDepartment.Nodes.Clear(); if (dt == null || dt.Rows.Count < 1) { return; } dt_Purmatclass = dt;//保存物料分类全局变量 DataTable dt_A = new DataTable();//物料分类 //筛选出根节点 DataRow[] rows = dt.Select("PID='' or PID is null and DEPARTNAME <> '湖南视拓'"); dt_A = dt.Clone(); //克隆A的结构 foreach (DataRow row in rows) { dt_A.ImportRow(row);//复制行数据 } //添加物料大类 for (int j = 0; j < dt_A.Rows.Count; j++) { UltraTreeNode Ultnode = ulTreeDepartment.Nodes.Add(dt_A.Rows[j]["DEPARTID"].ToString(), dt_A.Rows[j]["DEPARTNAME"].ToString()); getChildNodes(Ultnode); } foreach (UltraTreeNode Ultnode in ulTreeDepartment.Nodes) { Ultnode.Expanded = true; } } /// /// 递归查询父节点下的所有子节点 /// /// public void getChildNodes(UltraTreeNode Tnode) { DataTable dt_A = dt_Purmatclass.Clone();//物料分类 DataRow[] rows = dt_Purmatclass.Select("PID='" + Tnode.Key + "'"); foreach (DataRow row in rows) { dt_A.ImportRow(row);//复制行数据 } //添加物料分类 for (int j = 0; j < dt_A.Rows.Count; j++) { UltraTreeNode Ultnode = Tnode.Nodes.Add(dt_A.Rows[j]["DEPARTID"].ToString(), dt_A.Rows[j]["DEPARTNAME"].ToString()); getChildNodes(Ultnode);//利用递归将当前节点的子节点添加进去 } } ///// ///// 选择节点 ///// ///// ///// //private void ulTreeDepartment_AfterSelect(object sender, SelectEventArgs e) //{ // buyerUnitCode = ulTreeDepartment.ActiveNode.Key; // buyerUnitDesc = ulTreeDepartment.ActiveNode.Text; // fulltext = ulTreeDepartment.ActiveNode.Parent == null ? "" : ulTreeDepartment.ActiveNode.Parent.Text; // fulltext = fulltext + "/" + buyerUnitDesc; // this.Close(); //} private void frmdepartment_Load(object sender, EventArgs e) { } /// /// 选择节点 /// /// /// private void ulTreeDepartment_DoubleClick(object sender, EventArgs e) { buyerUnitCode = ulTreeDepartment.ActiveNode.Key; buyerUnitDesc = ulTreeDepartment.ActiveNode.Text; fulltext = ulTreeDepartment.ActiveNode.Parent == null ? "" : ulTreeDepartment.ActiveNode.Parent.Text; fulltext = fulltext + "/" + buyerUnitDesc; this.Close(); } private void select_item_Click(object sender, EventArgs e) { buyerUnitCode = ulTreeDepartment.ActiveNode.Key; buyerUnitDesc = ulTreeDepartment.ActiveNode.Text; fulltext = ulTreeDepartment.ActiveNode.Parent == null ? "" : ulTreeDepartment.ActiveNode.Parent.Text; fulltext = fulltext + "/" + buyerUnitDesc; this.Close(); } private void clear_item_Click(object sender, EventArgs e) { buyerUnitCode = ""; buyerUnitDesc = ""; fulltext = ""; this.Close(); } } }