使用union 当然数据库中要有两个字段id,parentID;
然后就可以啦
建树用递归,

解决方案 »

  1.   

    下面是生成树的例子:
    表结构:
    NodeID  ParentID NodeName
    100001     0      aaa
    100002   100001   bbb
    依次类推:  
    public void InitTree(TreeNodeCollection  Nds,string parentId,DataSet ds,string TableName)
    {   
    dv=new DataView();
    TreeNode  tmpNd;
    string intId;
    dv.Table=ds.Tables[TableName];
    dv.RowFilter="ParentId="  + parentId ;
    foreach(DataRowView drv in dv)
    {   
                 tmpNd=new TreeNode();
          tmpNd.Tag =drv[0].ToString();          tmpNd.Text=drv[2].ToString();        Nds.Add(tmpNd);
                    intId=drv[1].ToString();             InitTree(tmpNd.Nodes,tmpNd.Tag.ToString(),ds,TableName);
             }
    }