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();
}
}
}