在html的页面里的代码:
<div id="combotree" style="float:left;display:block;">
<!--先隐藏此树形-->
<div id="divmodule" style="float:left;display:none;position: absolute;"></div>
<!--点击文本框的时候,显示树形结构 -->
<input type="text" id="input_module" name="input_module" readonly onclick="document.getElementById('divmodule').style.display='block'">
<!-- 这个hidden用来向后台传数据 -->
<input type="hidden" id="tomodule" name="tomodule">
</div>
下面是EXT 部分,
此部分代码放在 Ext.onReady(function(){ }); 里
var _Tree = Ext.tree;
// 定义根节点的Loader
var _treeloader = new _Tree.TreeLoader({
// dataUrl : 'tree.jsp'//这里可以不需要指定URL,在加载前事件响应里面设置
});
// 添加一个树形面板
var _treepanel = new _Tree.TreePanel({
// renderTo:"tree_div",//如果使用renderTo,则不能使用setRootNode()方法,需要在TreePanel中设置root属性。
el : 'divmodule',// 将树形添加到一个指定的div中,非常重要!
region : 'west',
title : '功能模块',
width : 200,//面板宽度
minSize : 180,
maxSize : 250,
split : true,
autoHeight : false,
frame : true,// 美化界面
// title : '可编辑和拖动的异步树',//标题
// autoScroll : true, // 自动滚动
enableDD : true,// 是否支持拖拽效果
containerScroll : true,// 是否支持滚动条
rootVisible : true, // 是否隐藏根节点,很多情况下,我们选择隐藏根节点增加美观性
border : true, // 边框
animate : true, // 动画效果
loader : _treeloader // 树加载
});
// 异步加载根节点
var _rootnode = new _Tree.AsyncTreeNode({
id : '0',
text : '请选择...',
draggable : false,// 根节点不容许拖动
expanded : true
});
// 为tree设置根节点
_treepanel.setRootNode(_rootnode);
// 响应加载前事件,传递node参数
_treepanel.on('beforeload', function(node) {
_treepanel.loader.dataUrl = 'getModuleList_dao.asp?id=' + node.id; // 定义子节点的Loader
});
_treepanel.on("append", function(a,b,node) {
//根据实际情况来判定叶子节点
//alert(node.getDepth());
if (node.getDepth()==3)
{
node.leaf=true;
}else{
node.leaf=false;
}
});
// 渲染树形
_treepanel.render();
// 展开节点,第一个参数表示是否级联展开子节点
_rootnode.expand(false);
//属性的点击时间
_treepanel.on('click', function(node,e){
if (!node.isLeaf()) { //不是叶子节点,就stop
e.stopEvent();
}else{
document.getElementById("divmodule").style.display="none"; //隐藏树形结构的div
document.getElementById("input_module").value=node.text; //将选中的节点的显示的值赋予文本框
document.getElementById("tomodule").value=node.id;//用hidden保存实际节点的id值
}
});
loader.dataurl 去获取需要的数据,本次实验中,用json格式的记录数据,数据格式:
[{id:"1",text:"AAA"},{id:"2",text:"BBB"}]
到此结束。如果有不懂地方可以参考:
http://youshini.iteye.com/blog/1072961
分享到:
相关推荐
在客户端,我们需要创建一个EXT TreePanel实例,并设置其配置项。这些配置项包括但不限于: 1. `root`:定义树的根节点,可以是一个包含数据的对象,或者一个函数,用于动态加载数据。 2. `loader`:加载器配置,...
**Ext Tree Panel 实例详解** 在Web开发中,Ext JS是一个强大的JavaScript库,它提供了丰富的用户界面组件,其中Tree Panel是用于展示树形结构数据的重要组件。本文将深入讲解`Treepanel`的使用,包括其基本概念、...
3. **EXT TreePanel配置**:在前端,创建一个EXT TreePanel实例,配置其数据源为DWR的Java方法。这样,当用户在树形菜单上执行操作时,EXT会自动通过DWR调用相应的服务器端方法。 4. **JavaScript事件处理**:EXT ...
在"EXT 前台 实例 项目"中,我们可以推测这是一个关于EXT JS前端开发的实际应用项目集,它可能包含了EXT JS的各种常见和复杂应用场景,例如数据展示、表格操作、窗口管理、表单处理、树形结构等。通过这些实例,...
在 Ext 3.0 中,TreePanel 可以用来创建这样的界面,支持节点的增删改查和动态加载。通过配置 TreeNode 和 TreeLoader,可以实现树形结构的动态更新和异步数据加载。 5. **中文 API**:提供的中文 API 文档是开发者...
在给定的标题和描述中,“EXT 实例 示例 实例 示例”暗示我们将探讨EXTJS 的具体实例和用法。 首先,让我们深入了解一下EXTJS 中的树形菜单(Tree Menu)。树形菜单是EXTJS 提供的一种组件,它以层级结构展示数据,...
2. **创建TreePanel**:在JavaScript代码中创建一个新的TreePanel实例,定义其配置项,如树节点的模型(fields)、根节点(root)、以及加载数据的方式(store)。例如: ```javascript var treePanel = Ext....
2. **创建EXT TreePanel**:在JavaScript中定义一个TreePanel实例,设置其配置项,如宽度、高度、数据源、节点渲染样式等。例如,我们可以使用`store`属性指定数据源,`rootVisible`属性决定是否显示根节点。 3. **...
学习TreePanel时根据网上的资料自己实现的实例,结构如下: 1. 创建一棵树 2. 使用TreeLoader加载数据生成树 3. 读取本地Json数据生成树 4. 使用Servlet提供数据 5. 树的事件 6. 右键菜单 7. 修改节点的默认图标 8. ...
### Ext 拖动实例——树与表格全解析 #### 一、背景介绍 在现代Web应用开发中,用户交互体验越来越受到重视。其中,拖拽功能作为一种直观且高效的交互方式,被广泛应用于各种场景中。Ext JS作为一款强大的前端框架...
- **使用**: 继承`DropTarget`类并在创建其实例时绑定目标对象。当拖动源的`ddGroup`与目标组件以及监听器本身的一致时,放置操作才有效。 ### 三、树(Tree)的拖放 为了实现树的拖放功能,需要设置`enableDD`属性。...
ext js mvc 基本布局 以及菜单栏的点击事件 也是初学者 。
TreePanel继承自Panel,它利用Ext.tree.TreeNode节点对象来构建树形结构,并提供了丰富的属性和方法供开发者使用,从而实现复杂的功能。 在TreePanel中,TreeNode节点代表树中的一个节点,它的常用属性包括: - ...
### Ext解析XML实例 #### 核心概念 - **ExtJS**:一个用JavaScript编写的前端框架,用于构建交互式的Web应用程序。 - **XML**(可扩展标记语言):一种用于存储和传输数据的标准格式,它以人类可读的形式定义了数据...
此外,TreePanel实例则展示了EXT.NET在构建层次结构数据展示方面的强大能力。TreePanel不仅可以展示树形结构,还支持拖放操作,常用于组织结构的展示和管理。 在学习这些实例时,我们需要理解EXT.NET的事件驱动模型...
// 获取TreePanel实例 var tree = Ext.getCmp('treeId'); // 监听checkchange事件 tree.on('checkchange', function(node) { // 在这里处理被选中的节点 }); ``` #### 2. 使用cascade方法遍历所有节点 `cascade`...
在给定的标题和描述中,“tree”和“winwod”(可能是“window”的误拼)提到了EXTJS中的两个关键组件:TreePanel(树形视图)和Window。 1. **EXTJS TreePanel**: 树形视图(TreePanel)是EXTJS中用于显示层次...
通过这个“EXT导步树完整实例”,开发者不仅可以学习到EXTJS TreePanel的使用方法,还能了解到如何与后端数据库进行交互,从而更好地理解和实践数据驱动的前端开发。这个实例对于初学者来说是一份宝贵的参考资料,...
"有利于EXT学习的小程序"是一个专门为EXT初学者设计的项目,它包含了一个使用EXT框架开发的应用实例,可以帮助学习者更好地理解和掌握EXT的各种功能和用法。项目中可能包含了EXT的基本组件,如表格(Grid)、面板...
【标题】"ext-tree.rar_ext_ext tr_ext tre_ext.tr_ext.tree" 暗示这是一个关于Ext JS库中TreePanel组件的实例,其中可能包含了用于创建和管理数据结构的树形视图,以及与数据库交互的功能。 【描述】"ext的树的...