| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- 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;
- /// <summary>
- /// 采购科室代码
- /// </summary>
- public string BuyerUnitCode
- {
- get { return buyerUnitCode; }
- set { buyerUnitCode = value; }
- }
- /// <summary>
- /// 完整路径
- /// </summary>
- private string fulltext;
- public string Fulltext
- {
- get { return fulltext; }
- set { fulltext = value; }
- }
- /** 采购科室描叙 */
- private string buyerUnitDesc;
- /// <summary>
- /// 采购科室描叙
- /// </summary>
- 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<DataTable>("com.hnshituo.core.service.AppDepartmentService", "findAll", new object[] { });
- getultree(dt);
- }
- /// <summary>
- /// 获取物料分类树形结构
- /// </summary>
- 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;
- }
- }
- /// <summary>
- /// 递归查询父节点下的所有子节点
- /// </summary>
- /// <param name="Tnode"></param>
- 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);//利用递归将当前节点的子节点添加进去
- }
- }
- ///// <summary>
- ///// 选择节点
- ///// </summary>
- ///// <param name="sender"></param>
- ///// <param name="e"></param>
- //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)
- {
- }
- /// <summary>
- /// 选择节点
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- 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();
- }
- }
- }
|