jQuery插件报表树GridTree-2011新年版本(优化懒加载性能)

jQuery插件表格树GridTree--2011新年版本(优化懒加载性能)
表格树是用来展示多层次的表格的工具,在实际项目中有使用.并且此前已经发布了不少的版本,这次是最新的一版,比较稳定了.公开源码,主要使用jquery和普通JavaScript实现.

此前的表格树的详细配置说明

最近修改了此前表格树,根据需求新加了功能以及做了一些相关修改:
1.添加了动态刷新表格树的方法    
    
2.添加了动态添加子节点的方法 
  
3.支持无限层次的节点分页(lazyPage : true)

4.支持非顶层节点的缓冲显示(lazyMorePage:true )

5.修改此前版本的一些bug,例如删除了analyzeAtServer属性(定义了也没有用)。

下面罗列出新的属性和API方法:
1.lazyPageSize:进行懒加载分页以及懒加载缓存显示的每页页数,默认为10

2.lazyPage:设置为true表示使用懒加载分页,即在除了第一层进行默认的表格树分页之外,在子树的层次也进行分页,具体请看demo中的“懒加载树示例2(lazyPage:true)”链接

3.lazyMorePage:设置为true表示开启使用懒加载的缓存模式,即在对子树层次显示的时候,逐步显示节点,例如子树一层有1000个节点,设置了lazyPageSize=50的话,第一次显示50个节点,点击节点前面的图标再显示画面的50个节点(全部显示完请点20下,呵呵),具体请看demo中的“懒加载树示例3(lazyMorePage:true)”链接

注意:lazyPage和lazyMorePage不可以同时设置为true。
注意:设置了这两种懒加载模式之后,和普通的懒加载处理类似,也是需要做两个java方法返回json串,即dataUrl和lazyLoadUrl中的链接。

4.myTree.reload():进行表格树的重新加载,此前方式只可以通过链接的刷新实现,通过这个新方法可以局部刷新表格树

5.myTree.appendChild('父节点id','子串json串'):对指定的节点添加孩子节点

6.删除analyzeAtServer属性:如果配置了该属性也不会有效果,主要目的是简化了后台传递json串的格式。通过运行demo工程,可以看到后面实时打印出来的json串。
  修改了在chrom下面的一个bug:懒加载模式下面的分页出现问题。

关于性能:
    这次修改,主要就是做的对懒加载性能方面的改善,在实际项目中发现第一层进行了分页处理之后,但是子节点还有上千条节点,结果依然出现严重的js性能问题,于是想到了继续进行分页的点子。

jQuery插件报表树GridTree-2011新年版本(优化懒加载性能)

欢迎提出建议!

附件做了修改,现在可以直接运行了.不用再做修改.
1 楼 jiayan 2011-01-25  
不好意思,问一下,这个树菜单能不能一级一级往开展了?
2 楼 renjie120 2011-01-25  
呵呵 当然可以,不然叫树么.
3 楼 jiayan 2011-01-25  
我现在问题是,第一级点 + 号,把下面的全展开了。
是设置哪个属性了?我没有找见
4 楼 jiayan 2011-01-25  
还有每一层能不能 设置一个统一的颜色,如 第一级 红色,第二级 白色 每三级 蓝色,这个能不能设置一下了。
5 楼 renjie120 2011-01-25  
jiayan 写道
我现在问题是,第一级点 + 号,把下面的全展开了。
是设置哪个属性了?我没有找见

点击加号,这个不用设置属性!因为是我的控件给你做好的,就类似于你用其他的树控件一样,展开节点不用你设置什么东西.

你看一下我的文件里面的详细配置说明.组装成树形是看最主要的两个属性idColumn和parentColumn属性.

详细配置说明地址:http://renjie120.iteye.com/admin/blogs/631822
6 楼 renjie120 2011-01-25  
jiayan 写道
还有每一层能不能 设置一个统一的颜色,如 第一级 红色,第二级 白色 每三级 蓝色,这个能不能设置一下了。

这个需求比较具体了,不可能考虑这么多,不过你可以自己去做.

根据我在tr里面加了一个属性_node_path表示当前所在的层级,你根据这个自己写js. 提供了3个回调函数onPagingSuccess,
onLazyLoadSuccess,onSuccess...
7 楼 jiayan 2011-01-25  
renjie120 写道
jiayan 写道
我现在问题是,第一级点 + 号,把下面的全展开了。
是设置哪个属性了?我没有找见

点击加号,这个不用设置属性!因为是我的控件给你做好的,就类似于你用其他的树控件一样,展开节点不用你设置什么东西.

你看一下我的文件里面的详细配置说明.组装成树形是看最主要的两个属性idColumn和parentColumn属性.

详细配置说明地址:http://renjie120.iteye.com/admin/blogs/631822

不好意思,好像是我没有把问题说清楚。我再重新描述一下

我的树菜单有四层,点击第一层的 + 号,把 二、三、四层全给展开了,感觉有点乱,我现在的要求是,点击第一层的+,只展开 第二层,点 第二层的+ ,只展开 第三层,依次类推。说的不知是否清楚。
8 楼 renjie120 2011-01-25  
jiayan 写道
renjie120 写道
jiayan 写道
我现在问题是,第一级点 + 号,把下面的全展开了。
是设置哪个属性了?我没有找见

点击加号,这个不用设置属性!因为是我的控件给你做好的,就类似于你用其他的树控件一样,展开节点不用你设置什么东西.

你看一下我的文件里面的详细配置说明.组装成树形是看最主要的两个属性idColumn和parentColumn属性.

详细配置说明地址:http://renjie120.iteye.com/admin/blogs/631822

不好意思,好像是我没有把问题说清楚。我再重新描述一下

我的树菜单有四层,点击第一层的 + 号,把 二、三、四层全给展开了,感觉有点乱,我现在的要求是,点击第一层的+,只展开 第二层,点 第二层的+ ,只展开 第三层,依次类推。说的不知是否清楚。

可以实现.
现在的懒加载就是你说的这种方式,设置lazy:true!
你看我的demo例子就知道了.
9 楼 elvishehai 2011-01-26  
是个不错的东西来着,谢谢分享呀
10 楼 zjriso 2011-01-26  
看了之后,还是写的蛮不错的。。。正好用的上的!
11 楼 iamyumingxing 2011-01-27  
大概看了一下,不错!
12 楼 chengji518 2011-01-27  
这个Demo写得非常不错!谢 了,借鉴之用
13 楼 rmn190 2011-01-28  
不错的东西 , 看到楼主的作品想起来了在上家公司自己搞的一个类似的东西, 当时在项目中做到了四层展开, 但显得很乱。

可惜没有给抽出一个很规范的框架来。

多谢楼主分享!
14 楼 bill600 2011-01-29  
jQuery插件报表树GridTree-2011新年版本(优化懒加载性能) 项目里要用 自己写了一个和你的差不多 早看到就省事了
15 楼 bill600 2011-01-29  
不过我们还要以拖拽和排序
16 楼 玻璃杯 2011-08-28  
请问这棵树支持asp.net+c#吗?
17 楼 renjie120 2011-08-29  
玻璃杯 写道
请问这棵树支持asp.net+c#吗?

如果asp.net和C#支持js的话,这个表格树就支持.
我没有用过C#和asp.net.
C#和asp.net可以使用jquery么??如果可以使用,那我这个表格树也可以.
18 楼 huayi550 2011-10-09  
这个Demo符合我的需求,我找了几个Tree都是单独的Tree,不支持Grid
19 楼 ry.china 2011-12-30  
做的非常强大了,完全能够满足我的需求,如果全部用jquery的话,代码量应该更少