数据库里有3个表  结构如下:
公司表                        部门表                              员工表
Com_No  Com_Name        Dep_No    Dep_Name   Com_No       Per_No   Per_Name Dep_No
 1       甲公司          1         部门a        1           1         张三    1
 2       乙公司          2         部门b        1           2         李四    2 
 3       丙公司          3         部门c        2           3         王五    3
请教怎么一次加载啊?

解决方案 »

  1.   

    是啊   有的公司 或部门暂时没子节点 也要在树里显示   一个SQL  语句怎么写?
      

  2.   

    select * from ComTable left outer join DepTable on ComTable.Com_No = DepTable.Com_No left outer join PerTable on DepTable.Dep_No = PerTable.Dep_No
    你试试
      

  3.   

    +甲公司
          +部门a
              -张三
          +部门b
              -李四
    +乙公司
          +部门c
              -王五
    +丙公司  是不是要成这样的树,先生成这样的表,然后递归生成吧
    ID是自己的编号,PID是父节点的编号。ID PID    NAME
    1   0    甲公司
    2   0    乙公司
    3   0    丙公司
    4   1    部门a
    5   1    部门b
    6   2    部门c
    7   4    张三
    8   4    李四
    9   5    王五public void AddTree(int PID,TreeNode pNode) 
    {

    DataView dvTree = new DataView(this.treeTable);

    dvTree.RowFilter =  "[PID] = " + PID; foreach(DataRowView Row in dvTree) 
    {
    TreeNode Node=new TreeNode() ;
    if(pNode == null) 
    {    
    //添加根结点
    Node.Text = Row["Name"].ToString();
    TreeView2.Nodes.Add(Node);
    Node.Expanded=true;
    AddTree(Int32.Parse(Row["ID"].ToString()), Node);   

    else 
    {   
    //添加当前结点子结点
    Node.Text = Row["Name"].ToString();
    pNode.Nodes.Add(Node);
    Node.Expanded = true;
    AddTree(Int32.Parse(Row["ID"].ToString()),Node);     
    }
    }                   
    }