项目需求:要实现一个上下级的关系的管理。而且是单击一个节点,则根据这个节点去加载对应的数据。
解决思路:要实现一个有上下级的管理,自然而然的想到用树形结构去实现。用到了ext就会想到用ext的treePanel了。但是也考虑一个问题,是一次性加载所有的数据还是每次需要的时候加载呢?数据量大的话,前一种方式肯定不太行,如果每一次请求都取全部数据,对系统资源是一种浪费。所以,决定采用第二种方式,即异步加载tree。
1、新建一个TreePanel,包含了一个loader和一个root节点。
var billConfigTree = new Ext.tree.TreePanel({
columnWidth:.33,
//columnHeight:.100,
height:600,
collapsible: true,
margins:'5 0 5 5',
cmargins:'5 5 5 5',
rootVisible:false,
lines:true,
autoScroll:true,
root: new Ext.tree.AsyncTreeNode({
id:'root',
text:'分组信息',
expanded :true
}),
collapseFirst:false,
loader:new Ext.tree.TreeLoader({
dataUrl:'getNodeData.action'
})
});
2、然后我们再设置一个加载前的触发事件。
billConfigTree.on('beforeload',function(node){
billConfigTree.loader.dataUrl = 'getNodeData.action?nodeId='+node.id;
});
这样,我们就完成了一个异步加载的树形结构了。是不是很简单呢?呵呵。
需要注意的一点是:上级节点和下级节点的id不能相同,否则会出现点击上级节点的“+”可以展开下级节点,但是如果点击“-”却不能收起下级节点的问题了。
分享到:
相关推荐
"ext 异步加载树完整版" 提到的是EXT JS框架中的一个特性,EXT JS是一个广泛使用的JavaScript库,用于构建富客户端Web应用程序。在这个场景下,"异步加载树"是指树形组件(Tree Panel)不一次性加载所有节点,而是...
现在我们来详细探讨如何利用ZTree和DWR实现异步加载树形菜单。 首先,ZTree是一个轻量级、灵活的jQuery插件,适用于构建可自定义的树形菜单。它支持多种操作,如点击节点、拖拽节点、右键菜单等,且提供了丰富的API...
在本示例中,我们关注的是树结构的异步加载,这是一种优化性能的技术,避免一次性加载大量数据导致页面响应缓慢。 异步加载,也称为懒加载或需求加载,意味着当用户滚动、展开节点或者进行其他交互时,只加载当前...
本人手写的一款js树形控件,附带图片,代码简洁,注释齐全,可读性高,易于维护,方便移植,结构清晰,思路明了,界面美观,同时支持异步加载,对浏览器的兼容行强,你还可以根据自己的需要扩展功能,可大量应用于...
### Ext.ux.tree.TreeGrid 异步加载知识点详解 #### 一、Ext.ux.tree.TreeGrid简介 在ExtJS框架中,`Ext.ux.tree.TreeGrid`组件是一种结合了树形结构与表格显示特性的控件,适用于展示具有层级关系的数据。通过...
在Ext JS中,异步加载是一种常见的数据处理方式,尤其在构建动态的用户界面时非常有用。本篇文章主要探讨了如何在异步加载的场景下,实现树形控件(TreePanel)中节点的动态添加、删除以及ComboBox选择项的修改。 ...
异步加载树型是 ExtJS Tree 的一个重要特性,允许只在需要时动态加载子节点,从而提高页面的加载速度和用户体验。 异步加载通常通过 AJAX 请求实现,只有当用户展开一个节点时,才会向服务器请求该节点的子节点数据...
title: '动态异步加载树', store: treeStore, rootVisible: false, // 隐藏根节点 renderTo: Ext.getBody(), // 渲染到页面body listeners: { itemexpand: function (node) { // 当节点被展开时触发 if (!...
2. **Ajax 数据源**:异步加载数据通常通过Ajax请求实现。需要定义一个`TreeStore`,配置`proxy`为`Ext.data.TreeProxy`,并设置`url`属性指定服务器接口地址,用于获取节点数据。 3. **JsonReader**:数据解析器,...
在这里,我们使用Ext的Tree控件来加载树形结构的数据,并将其展现在用户面前。 下面是后台生成树形结构数据的示例代码: ```java public class TestTree { public String genStringTest() { TreeNode tn = new ...
本软件实现了一个机构管理的小例子,可以点击左边树节点在右边的Grid中显示该节点的下属机构,并提供增删查改功能,主要包括JS文件和生成动态树所需要的JSON格式的数据的JAVA和jsp文件,商业逻辑请自己负责完成
异步加载更常见,它在后台进行,不会阻塞用户界面。同步加载则会等待数据加载完成后再更新界面,一般只在数据量较小或有特定需求时使用。 8. **优化技巧**:为了进一步提高性能,可以考虑缓存已加载的节点,避免...
目录: 1. layout-test-01.html为上下布局,...详细见代码。 ...详细见代码。 ...即:Ext.window ...6.tree-asynch-test.html为异步加载的树 7.tree-edit-test.html为节点可以编辑的树 8.tree-tz-test.html为tree节点拖拽的练习
首先,EXT.NET中的树形控件基于Ext JS库,提供丰富的功能,如拖放操作、节点编辑、异步加载等。在实际应用中,我们通常使用`TreePanel`来创建树结构。`TreePanel`包含一系列的配置项和方法,用于定义树的外观和行为...
总之,"ext 下拉树 ext2"是一个基于Ext JS 2.x的下拉树组件,具备异步加载树节点的能力,提供了丰富的用户体验。开发者可以通过解析给定的文件,学习如何利用JavaScript和相关的资源文件来创建并实现类似的功能。
异步加载是指在不阻塞主线程的情况下加载资源,使得用户界面能够及时响应,而不是等待所有资源完全下载后再显示页面。这种加载方式尤其适用于大文件,如图片、脚本或样式表,因为它们可能延长页面的加载时间。 2. ...
这个包是在之前包的基础上多加了很多功能。 原来的内容: 1ext2.2源码及例子 2深入浅出extJs例子 3自己写的例子 ...3新增EXT异步加载树 4动态修改树节点图标和提示层 5ext结合mxGraph作出流程图编辑器
7. **异步加载**:对于大数据量的树形菜单,可以采用异步加载策略,只在需要时加载子节点,提高应用性能。 8. **多选与复选**:通过`selModel`配置,你可以实现树形菜单的多选或单选功能,甚至可以添加复选框来支持...
这将在需要时异步加载 `MyApp/view/Main.js` 文件。 3. **延迟加载** 如果某些组件或类在应用启动时并不需要,但可能会在稍后的某个时刻被用到,可以使用 `requires` 属性将它们标记为延迟加载: ```javascript ...