
创建部门树#region 创建部门树
private void Creat_Node(TreeView tv,TreeNode tnFather,string strID, string strName)

{
//定义一个新节点
TreeNode node = new TreeNode();
node.ID = strID;
node.CheckBox = true;
node.Text = strName;
node.Checked = this.isChecked(this.tacheID,strID);

//判断节点类型
if (strID == "0")

{
node.Type = "Root"; //宁波海关
}
else if(strID == "02")

{
node.Type = "Spec"; //派驻机构
}
else if(strID == "03")

{
node.Type = "Organ"; //下属关
}
else

{
if (strID.Length == 3)

{
if (strID.Remove(2,1) == "02")

{
node.Type = "Spec"; //派驻机构
}
else if(strID.Substring(0,2) == "03")

{
node.Type = "Organ"; //下属关
}
else

{
node.Type = "Dept"; //部门
}
}
else

{
node.Type = "Dept"; //部门
}
}

//判断是否为根节点
if (tnFather == null)

{
node.Expanded = true;
tv.Nodes.Add(node);
}
else

{
tnFather.Nodes.Add(node);
}

//取得当前节点的所有子节点,利用递归生成
string strParentID = string.Empty;
if (strID != string.Empty)

{
strParentID = " ParentDepID ='" + strID + "'";
}

if (strParentID != string.Empty)

{
string sqlSelectQuery = "select DepID, DepName from org_dep where " + strParentID + " order by SortID";
DataSet ds = this.da.ExecuteDataset(this.dbi.Context,
CommandType.Text,
sqlSelectQuery);
DataView dv = ds.Tables[0].DefaultView;
for (int i = 0; i < dv.Count; i++)

{
this.Creat_Node(tv,
node,
dv[i]["DepID"].ToString().Trim(),
dv[i]["DepName"].ToString().Trim());
}
}
}