如题:最好能提供代码,或是sql语句!
因为我实在是写不出来!谢谢了!

解决方案 »

  1.   

    直接用SQL不好整弄出来再说吧,把数据整理到另一个DataTable里面
      

  2.   

    就是不知道如何整理到datatable里面啊!
      

  3.   

    看不大懂。。
    我的树型结构是根据数据库来加载的,要是显示到表格比如datagridview里面不是把数据都读出来就好了吗?SELECT f1.f_id, f1.f_name, f1.fatherID, f2.f_name AS fatherName
    FROM dbo.folder AS f1 INNER JOIN
         dbo.folder AS f2 ON f1.fatherID = f2.f_idfolder是文件夹,f_id, f_name, fatherID是表folder的三个字段,另外写了个视图把父结点的名称也加上去了~
    不知道对你有用不?
      

  4.   

    回复4楼:
       其实本质还是从数据库中去数据出来;
       只是不知道如何取!
       在数据表中表现为:取某个上级结点为空的结点以及以此结点为父结点的所有字节点;再取所有以子结点为父结点的结点;如何循环下去,直到子结点没有子结点!另外回复9楼:sql语句是不对的!
               这样根基点都取不出来! 
      

  5.   

    ????
    DataTable dt = DB.GetTable("select * from tablename");DB.cs
    public static DataTable GetTable(string sql)
    {
    //填充dataset
    return ds.Tables[0];
      

  6.   

    结帖吧!
    我已经找到方法了!
    公布一下:
    类似于下面的表bd_dept
    dpid   dpname   dppid
    01     根部门1   
    0101   部门1     01
    010101 部门2    0101
    02     根部门2   
    取出根部门1以及下面的所有子结点!
    select * from bd_dept
    start with dpid='01'
    connect by prior dpid=dppid
    这样取出的结果就是前三行!
    环境:oracle 9i