本帖最后由 shijianyu00 于 2012-09-11 16:10:27 编辑

解决方案 »

  1.   


    主要是我递归完了返回的是Datatable 有可能我不是用在树下~~~~所以点击获取节点不可取
      

  2.   


    无论数据量是多少,应当按需取数据在加载数据的时候加载第一父级数据,在需要的时候通过select选择父级触发加载子级,依次类推
      

  3.   

    这也叫太慢啊,你不但递归数据,还递归绑定控件呢。而且你还是用了低性能的查询方式,DataSet 速度不快,你还大量的拼接字符串。数据类型转换,能快吗?而且绑定控件根本没必要每次都新建一个datatable,你都知道select 了还有必要新建一个?
      

  4.   


    我的数据是 递归返回datatable  不一定用到树中。。有可能会用 列表中。。还带分页···
    按需求加载就不现实了··带分页呢·
      

  5.   


    用ajax+json实现 第一次获取父级别  父级别加载完成再加载子级别 这样省的你重复遍历
      

  6.   

    ajax+json 获取福级别  然后再福级别下获取该级别数据  , 返回的json有个可以json数据分页插件
      

  7.   

    DataRow dr = dt.NewRow();
    string[] sd = new string[dt.Columns.Count];
    这些变量定义能放外面就放外面去觉得楼主动向不明,递归就这样,根据条件减少下循环次数,也没什么好优化的,换个方向思考吧
      

  8.   

    放在外面
    dt.Rows.Add(dr);
    是通不过的