BLUE.NET

-------- 众里寻她千百度

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::
#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());
                    }

            }

        }
posted on 2005-05-25 12:26  blue.net  阅读(224)  评论(0)    收藏  举报