Dojo中的LazyTreeGrid控件
2012-05-17 15:24
381 查看
数据呈现是RIA应用中的一个重点应用,各种JavaScript框架也一般都提供了自己的Grid小部件用于呈现表格类数据。而TreeGrid 作为一种特殊的Grid,顾名思义,更是兼具了Tree多层级结构以及Grid的多数据项复杂数据展示的优点,是一种很好的处理复杂多级数据的控件。然 而,无论对于Tree或者TreeGrid,通常由于实现方面的种种限制,对数据的延迟加载只能是针对层级结构而言的,即在展开某一节点时即时请求该节点 下的全部子节点。尽管这对于一般的应用场景来说基本可以满足需求,但在当次级节点下数据结构较复杂,节点繁多的情况下,则可能造成极其严重的性能问题。针 对这一特定需求,Dojo从1.6开始推出了一个全新的控件——LazyTreeGrid。
View Code
至此,我们已经完成了LazyTreeGrid的页面创建工作,接下来的工作就是创建合适的后台代码来正确响应LazyTreeGrid的数据请求。
LazyTreeGrid的结构
作为Dojo DataGrid的扩展,LazyTreeGrid在整体的数据结构上采用的仍然是MVC结构。View Code
// 创建LazyTreeGrid var grid; dojo.addOnLoad(function () { grid = new dojox.grid.LazyTreeGrid({ id: "grid", rowSelector: true, treeModel: treeModel, structure: layout, colSpans: { 0: [{ start: 0, end: 1 }, & nbsp; { start: 2, end: 3, primary: 2 }] } }); dojo.byId('gridContainer').appendChild(grid.domNode); grid.startup(); });
至此,我们已经完成了LazyTreeGrid的页面创建工作,接下来的工作就是创建合适的后台代码来正确响应LazyTreeGrid的数据请求。
小结
作为Dojo1.6新引入的一个Widget,尽管LazyTreeGrid仍有很多亟待解决的缺陷或问题,如尚不支持初始化及运行时的 Expand/Collapse All的功能、可调用API较少等,但它作为一种呈现复杂多层级数据的RIA应用小部件,其对于延迟加载与延迟渲染方面所提出的解决方案还是具有一定的突 破性的,具有这方面应用要求的用户不妨一试。相关文章推荐
- Dojo中的LazyTreeGrid控件
- Dojo中的LazyTreeGrid控件
- 实例 XPages 开发一个通用的 Dojo Tree 风格定制控件
- 使用 Dojo TreeGrid 管理 WebSphere Process Server 工作流为数据创建 Web 2.0 风格的 UI
- dojo dgrid 的列显示html控件
- 实例 XPages 开发一个通用的 Dojo Tree 风格定制控件
- WPF的DataGrid控件——分组、改变成DataTreeGrid的样式
- GridControl控件和TreeList控件设置标志图
- GridControl控件和TreeList控件设置标志图
- GridControl控件和TreeList控件设置标志图
- GridControl控件和TreeList控件设置标志图
- 如何使用 Dojo EnhancedGrid 控件进行数据异步保存
- dojo lazy Tree,使用JsonRest获取节点数据
- lazyTreeGrid 应用
- 为lazyTreeGrid添加右键菜单
- 项目中使用Tree/LazyTreeGrid
- LazyTreeGrid的创建、菜单绑定和对菜单的限制
- JQuery EasyUI TreeGrid控件的使用——支持拖拽与禁止拖拽
- Dojo TreeGrid 懒加载
- JQuery EasyUI TreeGrid控件的使用——支持拖拽与禁止拖拽