jsp页面:
var tree;
var ne;
var rightshowMenu;
Ext.onReady(function(){
Ext.BLANK_IMAGE_URL="ext/resources/images/aero/s.gif";
var loader = new Ext.tree.TreeLoader({
url: "bookShop.do?parameter=treedata"
});
loader.on("beforeload", function(loader, node){
this.baseParams.id = (node.id);
});
var root = new Ext.tree.AsyncTreeNode({
id: "root",
text: "",
draggable: true //设置根节点是否可拖拽
});
tree = new Ext.tree.TreePanel({
renderTo: "tree-div",
useArrows: true,
autoScroll: true,
animate: true,
containerScroll: true,
rootVisible: false,
border: false,
root:root,
enableDD: true//允许拖拽
// listeners:{contextmenu:showMenu}
});
<%
for(int i=0;i<listrose.size();i++)
{
Rose rose=listrose.get(i);
%>
var croot=new Ext.tree.AsyncTreeNode({
id:"<%=rose.getId()%>",
text:"<%=rose.getName()%>",
allowDrag: false, // 在部门树里面,组织不支持拖拽
loader: loader
});
root.appendChild(croot);
<%
}
%>
tree.getRootNode().expand();
});
java:
public ActionForward treedata(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String id = request.getParameter("id");
log.info("展开节点根据 节点ID::" + id + ",获取子节点信息!");
List<Rose> list = roseBiz.resutlRosebyid(id);
JSONArray json = new JSONArray();
if (null != id && id.length() > 0) {
for (Rose rose : list) {
JSONObject temp = new JSONObject();
temp.put("id", rose.getId());
temp.put("text", rose.getName());
json.add(temp);
}
}else
{
log.info("节点下为空!");
}
log.info("展开节点,获取节点下面的信息:格式化返回::" + json.toString());
writerJSON(response, json.toString());
return null;
}
分享到:
相关推荐
在IT行业中,异步加载是一种优化用户体验的...总的来说,"ext 异步加载树完整版"涉及的是EXT JS框架中Tree Panel的异步数据加载机制,这是构建大规模数据树形结构时非常实用的技术,能够提升用户体验并优化资源使用。
### Ext.ux.tree.TreeGrid 异步加载知识点详解 #### 一、Ext.ux.tree.TreeGrid简介 在ExtJS框架中,`Ext.ux.tree.TreeGrid`组件是一种结合了树形结构与表格显示特性的控件,适用于展示具有层级关系的数据。通过...
异步加载树型是 ExtJS Tree 的一个重要特性,允许只在需要时动态加载子节点,从而提高页面的加载速度和用户体验。 异步加载通常通过 AJAX 请求实现,只有当用户展开一个节点时,才会向服务器请求该节点的子节点数据...
在本示例中,我们关注的是树结构的异步加载,这是一种优化性能的技术,避免一次性加载大量数据导致页面响应缓慢。 异步加载,也称为懒加载或需求加载,意味着当用户滚动、展开节点或者进行其他交互时,只加载当前...
在Ext JS中,异步加载是一种常见的数据处理方式,尤其在构建动态的用户界面时非常有用。本篇文章主要探讨了如何在异步加载的场景下,实现树形控件(TreePanel)中节点的动态添加、删除以及ComboBox选择项的修改。 ...
本文将深入探讨如何使用ExtJS构建动态异步加载的树形结构,结合AJAX技术实现JSON数据的高效传输。 首先,我们要理解什么是动态异步加载。在传统的网页开发中,如果一次性加载所有数据,可能会导致页面加载速度慢,...
总之,`Ext.ux.tree.PagingTreeLoader`是ExtJs 3.x框架中一个非常实用的组件,它提高了大量数据树的加载效率,使得用户可以流畅地浏览和操作树结构。通过合理的配置和服务器端接口配合,可以构建出高效、用户体验...
首先,EXT.NET中的树形控件基于Ext JS库,提供丰富的功能,如拖放操作、节点编辑、异步加载等。在实际应用中,我们通常使用`TreePanel`来创建树结构。`TreePanel`包含一系列的配置项和方法,用于定义树的外观和行为...
2. **Ajax 数据源**:异步加载数据通常通过Ajax请求实现。需要定义一个`TreeStore`,配置`proxy`为`Ext.data.TreeProxy`,并设置`url`属性指定服务器接口地址,用于获取节点数据。 3. **JsonReader**:数据解析器,...
将EXT Tree与SSH2结合,意味着开发者可能通过Java后端服务获取数据,并用EXT Tree在前端展示,同时实现动态加载、异步更新等功能。 在实际操作中,这个项目可能包含以下步骤: 1. 配置SSH2环境:设置Struts配置...
通常,我们会采用异步加载的方式,即每次用户点击某个节点时,后台再生成该节点的子节点,前台再将其加载出来。但是,这种方式有一个缺点,即用户需要等待服务器响应,这会影响用户体验。 那么,有没有一种方法可以...
目录: ...详细见代码。 ...详细见代码。 ...即:Ext.window 4.mainPage.html为tab布局,右面为...6.tree-asynch-test.html为异步加载的树 7.tree-edit-test.html为节点可以编辑的树 8.tree-tz-test.html为tree节点拖拽的练习
这个组件通常用于异步加载树的子节点,使得用户可以只加载当前需要的部分数据,从而提高应用性能。 在`Ext.tree.TreeLoader`中,我们可以配置以下关键属性: 1. **url**: 指定从哪个URL获取JSON数据。 2. **...
EXT JS Tree组件提供了丰富的功能,包括拖放操作、节点的展开与折叠、异步加载数据以及自定义图标和样式。它支持JSON和XML格式的数据源,并可以通过Ajax请求动态加载子节点,优化了大数据量时的性能。开发者还可以...
异步加载更常见,它在后台进行,不会阻塞用户界面。同步加载则会等待数据加载完成后再更新界面,一般只在数据量较小或有特定需求时使用。 8. **优化技巧**:为了进一步提高性能,可以考虑缓存已加载的节点,避免...
本软件实现了一个机构管理的小例子,可以点击左边树节点在右边的Grid中显示该节点的下属机构,并提供增删查改功能,主要包括JS文件和生成动态树所需要的JSON格式的数据的JAVA和jsp文件,商业逻辑请自己负责完成
异步加载减少了初始页面加载的时间。 8. **扩展和插件**:EXT Tree有丰富的扩展和插件,如`checkbox`(复选框节点)、`contextmenu`(右键菜单)等,可以进一步增强功能。 在文档`extjs的tree的使用.doc`中,你将...
总之,"ext 下拉树 ext2"是一个基于Ext JS 2.x的下拉树组件,具备异步加载树节点的能力,提供了丰富的用户体验。开发者可以通过解析给定的文件,学习如何利用JavaScript和相关的资源文件来创建并实现类似的功能。
7. **异步加载**:对于大数据量的树形菜单,可以采用异步加载策略,只在需要时加载子节点,提高应用性能。 8. **多选与复选**:通过`selModel`配置,你可以实现树形菜单的多选或单选功能,甚至可以添加复选框来支持...
5. `async`:设置为true,表示树是异步加载的。 接着,当树Panel初始化完成后,我们可以通过DWR调用服务器端的方法,将返回的JSON数据传递给TreePanel的`loadData`方法,或者在TreePanel的`loader`配置中指定的回调...