根节点不是从数据库取,自己加上去,但是父节点从数据库取,只有两层节点   大家帮忙看看、、、、、 

解决方案 »

  1.   


    private void BuildTree(int parid, TreeNodeCollection nodes) //treeview 集合
            {
                            TreeNode tn = null;   //创建树节点
                foreach (HrDepartmentData data in pList)//pList 从数据库中得到的节点列表
                {
                    tn = new TreeNode();
                    tn.Text = data.Name;
                    tn.Tag = data.Id;
                    nodes.Add(tn);//把节点加入集合
                    BuildTree(data.Id, tn.Nodes);//在当前节点以下节点
                }
            }如果你的数据库结构合适的话,这样写就行了
      

  2.   

    应该有一个fatherId啊.
    顶层时候fatherId为0.其它的就是ID了.
    1.读取的时候通过一个方法查询出所有fatherId为0的
    2.循环查询出来的集合.根据当前循环的对象Id查询出所有fatherId和此ID相等的数据(用递规的话就写成一个方法包含在第一条循环里面)
      

  3.   

    node.Add加一个根节点,剩下的遍历添加上去