2011年01月24号
最新表格树已经发布了:http://renjie120.iteye.com/admin/blogs/894183
主要修改:添加懒加载无限层次分页;
添加表格树动态刷新
添加表格树动态添加子节点
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
转载请注明出处:
http://renjie120.iteye.com/
最新动态:version1.0
http://code.google.com/p/gridtree-jquery-plugin-demo/
(2010.09.25)
欢迎在google code界面进行提问与讨论!谢谢。
此前的表格树说明
表格树开发的心得
重要说明:
(1)关于懒加载:
即第一次显示表格树的时候只显示第一层的部分节点,然后在当点击含有子节点的图标时,动态的到后台查询子节点,这样就避免的一次加载全部的节点,速度有很大的提高。懒加载模式下,不可以使用“全部展开”,“全部折叠”等方法,理由是全部展开就等于一次性加载全部节点了,效率的问题依然不可以解决!使用过ext表格的动态加载的同学们,应该有懒加载的概念,不过ext懒加载表格没有限制“全部展开”方法,效率很低,我的设计就做了这样的处理。
(2)添加了三个重要的回调方法:
onLazyLoadSuccess:懒加载执行完之后,可以进行处理.
onSuccess:表格树load完毕可以进行处理,类似回调函数.
onPagingSuccess:表格树翻页执行完毕,可以进行处理.
如果你不满意默认的表格处理,你完全可以在这里的方法重新做你喜欢的事情,包括选择模式的自定义等等。懒加载模式下,“选择模式”都做了简化处理,没有5 种选择,你要实现个性化的选择模式就需要在onLazyLoadSuccess定义方法处理!
1.下面是一个简单的使用后台数据的配置
var content = {
columnModel : [{
header : '编码',
headerIndex : 'districtId',
width:’100px’
}, {
header : '地域名称',
headerIndex : 'districtName',
width:’100px’
}, {
header : '父级节点',
headerIndex : 'districtParent'
}],
dataUrl : APP_PATH + '/district.do?method=getGridTree',
idColumn : 'districtId',
parentColumn : 'districtParent',
tableId : 'testTable',
el : 'newtableTree'
};
说明:
(1)columnModel:表示要显示出来的列的描述.
header:表头的列的显示(必写)
headerIndex:表格该列的数据来源于哪一具体的数据描述.(必写)
(2)dataUrl:后台请求的地址
(3)idColumn:标明要进行唯一性确认的标示列的列名(在分析树形结果时必须使用的属性, 其对应的数据值不得有重复)
(4)parentColumn:标明表示父级id的列的列名
(5)tableId:形成的表格的id
(6) el:表格树渲染的对象,也就是在body中要用来显示表格树的div的id
配置完如上参数之后,再执行loadData(参数)和makeTable()方法就可以得到最简单的表格树了。
2.添加表格列的多样化显示,示例如下:
在配置文件中的columnModel属性使用如下设置:
columnModel:[
{header:'唯一标识',headerIndex:'disId'},
{header:'地域名称',headerIndex:'disName'},
{header:'父级节点',headerIndex:'disParent',
columntype:{inputtype:’html’,nameId:'testHtml',htmlStr:’<font color=”red”>$</font>’}},
{header:'测试单选',headerIndex:'rd',width:'300px',
columntype:{inputtype:'radiobox',style:'testradio',values:['1','2'],texts:['男','女'],nameId:'sexRd'}},
{header:'测试下拉菜单',headerIndex:'radi',
columntype:{inputtype:'select',style:'testselect',values:['1','2'],texts:['男','女'],nameId:'sexSel'}},
{header:'测试多选',headerIndex:'multi',width:'10%',
columntype:{inputtype:'checkbox',style:'testmulti',values:['1','2','3','4'],texts:['上','下','左','右'],
nameId:'fangxiang', disabledIndex:'rddisbled', isibledIndex:'rdvisabled'}}],
配置说明:
columntype:列的类型说明
inputtype:表示要使用的列的类型,现在暂时支持:’radiobox’,’select’,’checkbox’,’textbox’,’html’.
style(当inputType不等于html时有作用):样式说明,针对引入的表单控件的样式
values(当inputType= radiobox, select, checkbox时有作用):表单的实际值,是一个js数组
texts(当inputType= radiobox, select, checkbox时有作用):表单的显示值,是一个js数组
nameId:表单的name属性前缀.实际的name属性是该值+所在行的id.
htmlStr(当inputType=html时有作用):自定义一段html字符串,.其中的$将被headerIndex指向的值替换.
disabledIndex:'disabledColumn',控制表单元素是否禁用的一个属性,值为在json数据中存在的一列名,如果对应的值为1则禁用,否则可用
visibledIndex:'visibleColumn', 控制表单元素是否可见的一个属性,值为在json数据中存在的一列名,如果对应的值为1或者没有设置该值,就可见,否则不可见
onclick:function(){alert(1);}, 如果类型是checkbox或者radiobox,添加了定义onclick方法的接口.
3. 表格树的其他配置说明
(7)debug:true,//出现一个展示表格树的加载信息的div框
(8)handleCheck:function(){},//定义点击选择按钮的事件.就是onclick的事件处理方法,可以不写.
(9)disabled:true,如果为true表示表格树中的按钮,多选框等禁用.默认为false.
(10)disableOptionColumn:'rddisbled',//用来标识指定的选择框是否禁用的属性,默认没有
(11)hidddenProperties: ['multi','disName'],//表示在一行还要添加一些隐藏的列值,不显示出来,但是要放在行中.注意设置属性的值是数组类型.可以不设置该属性.使用了这个属性,就可以在行对象中直接使用obj.multi得到该值,比较方便.
(12)chooesdOptionColumn:'rddisbled',//用来标识默认的选择多选框的属性,在有多选按钮的情况时候有用.
(13)handler :[{“onclick”,function(row){alert(row.id);}},
{“ondblclick”:function(){alert(1);}}],
为每一行的表格树添加自定义的事件处理函数.因为表格树每一行是tr,定义td支持的事件都可以在该属性中配置.注意其值是一个数组.如果不配置该属性,将有默认的实现.
4.懒加载树的配置说明
(14)lazy:为true则表示是懒加载树,然后必须设置下面两个属性:
(15)lazyLoadUrl:点击非树叶节点调用的后台请求地址,将传给后台一个参数值为‘pId’
(16)leafColumn:设置表示是否叶子节点的属性,如果对应的数据是‘1’则标示是父亲节点,为‘0’就表示是叶子节点没有孩子节点。(好像是反了,但是我的代码已经这样做了,已经改了很多了,不想再改了。如果大家不喜欢就直接改源码吧!)
5.回调函数配置说明
(17)onPagingSuccess:在翻页显示表格之后,最后一步将执行此回调函数,你可以做任意想做的事情,包括隐藏某列等等,只要熟悉js都ok!
(18)onLazyLoadSuccess:在点击父亲节点加载子节点之后,最后一步执行此回调方法,随便你做!
(19)onSuccess:在初次加载表格结束之后,你想做什么就做吧。
6.一些其他配置参数,不了解的看看这里:
(20)pageBar:true; 表示要展示分页栏,也就是会出现分页的效果
(21)pageSize:10;表示每页显示的第一级节点的数目(如果不设置,默认是3个每页)
(22)rowCount:true;默认是没有这一列
(23)countColumnDesc: ‘序列’;自增列的列头名(如果不设置默认是'序列')
(24)checkOption:1;可以选择1或者2,如果是1就是单选按钮,2就是多选按钮,其他将不出现选择列。
(25)checkColumnDesc:‘请选择’;选择列的列头名(如果不设置,默认就是‘请选择’)
(26)openImg:可以打开的图标的文件。
(27)closeImg:收缩节点的图标文件。
(28)blankImg:树叶节点前面的图标文件
(29)expandAll:true,表格树显示的时候自动展开全部的孩子节点。
(30)lazyLoadImg:在懒加载的等待期间,加号图标悄悄变成了这个图片!
7.可以不用管的几个属性
(31)analyzeAtServer:为true或者false,后台的json数据是不一样的!如果是懒加载的话,默认该参数是false。
(32)styleOption:为1,2两个可选值,换着看一下发现一个还将就的看着行,一个难看了点。
(33 )showMenu, contextMenu:以前想实现邮件增加,删除节点,现在没有实现。
8.关于后台代码
懒加载表格树,实际有两个java方法要进行处理,一个是dataUtl对应的请求,一个是lazyLoadUrl对应的请求。前者查询的list是第一层要展示的节点集合,而且要加上一个表示是否叶子节点的属性值!后者是查询传入的节点id对应的直接子节点(不包括孙子节点!)详细请参考示例后台工程的代码!
- 大小: 18.2 KB
分享到:
相关推荐
《jQuery表格树插件GridTree懒加载版本:高效处理大数据量的解决方案》 在Web开发中,处理大数据量的表格往往是一项挑战。传统的表格展示方式可能导致页面加载缓慢,用户体验下降。为了解决这一问题,出现了jQuery...
《jQuery懒加载版本表格树GridTree详解》 在IT领域,高效的数据呈现是提升用户体验的关键。面对大数据量的处理,传统的加载方式往往会导致页面加载缓慢,用户体验下降。为解决这一问题,"jQuery懒加载版本表格树...
《jQuery插件表格树GridTree 2011新年版详解》 在Web开发领域,jQuery库因其简洁的API和强大的功能,深受开发者喜爱。在众多的jQuery插件中,GridTree是一款专用于构建可扩展的表格树视图的插件,特别适合于展示...
《jQuery插件——表格树GridTree详解》 在网页开发中,数据的展示方式多种多样,其中表格和树形结构是常见的两种。当这两种元素结合在一起时,就形成了表格树,这种布局方式既能清晰地展示层次关系,又能有效利用...
《jQuery插件——表格树GridTree(后台分页版本20091018)详解》 在Web开发中,展示数据的方式多种多样,其中表格由于其清晰、直观的特点,被广泛应用于数据呈现。然而,当数据量较大时,单纯的表格可能会显得过于...
在你提到的 "js,jquery懒加载demo" 压缩包中,可能包含了一个使用 JavaScript 和 jQuery 实现的懒加载示例。通常,这个示例会包括 HTML 结构、CSS 样式以及 JavaScript 代码,展示如何设置和使用懒加载。文件名列表...
动态加载树(Tree)和动态加载表格(Table)是两种常见的数据展示方式,它们在网页应用中广泛使用,特别是在需要显示层级结构数据(如组织结构、文件系统)和大量表格数据(如报表、用户列表)的情况下。 **动态...
`jQuery.simple.tree.js` 是`jQuery SimpleTree`的核心代码文件,通过阅读源码,你可以了解到插件是如何解析JSON数据,渲染树结构,以及处理异步加载和复选框事件的。在`iteye`博客上发布的链接...
jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码...
**jQuery表格树插件详解** 在网页开发中,表格数据的展示经常需要处理大量结构化的信息,而将这些数据组织成树形结构可以更清晰地展现层级关系,提高用户的浏览体验。`jQuery表格树插件`就是为此目的设计的工具,它...
好久没用S2SH做东西了,闲来没事做了一个jQuery Tree 的Demo 支持无限级分类,异步加载数据,通过这个小程序可以了解一下jQuery动态加载数据的技巧,顺便复习了一下S2SH(struts2+spring+hiber)。
Gridtree通常是指一个结合了表格和树形视图的组件,它允许用户以表格的形式查看数据,同时通过折叠和展开节点来揭示数据间的层级关系。jQuery提供了丰富的API和插件,使得创建这样的组件变得相对简单。 在创建...
**jQuery LazyLoad.js 图片懒加载技术详解及Demo演示** 在网页设计中,图片加载是一项重要的性能优化策略。尤其对于内容丰富的网站,一次性加载所有图片可能会导致页面加载速度变慢,影响用户体验。为了解决这个...
在网页设计中,为了提高页面加载速度和用户体验,懒加载(Lazy Load)技术被广泛应用。尤其是在图片密集型的网站上,非首屏的图片可以延迟加载,直到用户滚动到相应位置时才开始加载,这样可以显著减少首屏加载时间...
其次,为了实现懒加载,我们需要在表格中使用JavaScript或jQuery监听滚动事件。当用户滚动到接近表格底部时,我们可以异步加载更多数据。这通常涉及到AJAX请求,向服务器发送请求获取下一批数据,并将新数据插入到...
jQuery Grid 是一个强大的数据展示和管理工具,它基于 jQuery 库,提供了丰富的功能,包括数据的排序、查询、分页等,使得开发者能够快速构建交互式的表格应用。在本篇文章中,我们将深入探讨 jQuery Grid 的核心...
在官方版本中,虽然提供了丰富的功能,但并未直接支持动态加载或懒加载。动态加载(也称为懒加载)是一种优化性能的技术,只在用户需要时才加载数据,而不是一次性加载所有数据,这对于处理大量数据或层级结构尤其...
自己写的一个基于jquery的小插件,实现了表格树的基本功能,尽量实现了JQTreeTable的基本功能并实现了前台分页,以及可以添加自定义列。支持json数据格式。 最新版本http://download.csdn.net/source/1757010 ...
例如,gridTree可能就是这样一个插件,具体使用方法需查看其文档。 6. **性能优化**:对于大量数据,一次性渲染所有节点可能导致页面加载慢。为了避免这个问题,可以采用懒加载策略,只加载可视区域内的节点,当...