直接上代码
var tree = Ext.create('Ext.tree.Panel', {
title : 'Simple Tree',
width : 200,
height : 250,
queryMode : 'local',
id : 'treePanel-id',
store : store,
rootVisible : false,
listeners : {
'itemclick' : function(view, record, items, index, e) {
alert(items);
if (record.get('leaf') == false) {
return;
} else {
Ext.MessageBox.show({
title : '节点操作',
msg : 'itemclick:index=' + index + ",text="
+ record.data.text,
icon : Ext.MessageBox.INFO
});
}
},
'itemcontextmenu' : function(menutree, record, items, index, e) {
e.preventDefault();
e.stopEvent();
var obj = record;
while (!obj.parentNode.isRoot()) {
obj = obj.parentNode;
}
var rootId = obj.getId();
if (rootId != 180 && rootId != 190) {
return;
} else {
var nodemenu = new Ext.menu.Menu({
floating : true,
items : [{
text : "添加文件夹",
// icon:'images/add.gif',
// iconCls:'leaf',
handler : function() {
if (record.get('leaf') == false) {
Ext.MessageBox.prompt("标题", "請輸入",
function(btn, text) {
if (btn == "ok") {
record.appendChild({
text : text,
id : new Date()
.getTime(),
expanded : true
});
}
}, this, false, // 表示文本框为多行文本框
"新添加文件夹");
}
},
listeners : {
render : function(com) {
if(record.get('leaf') == true)
com.setVisible(false);
}
}
}, {
text : "添加子节点",
handler : function() {
Ext.MessageBox.prompt("标题", "請輸入",
function(btn, text) {
if (btn == "ok") {
record.appendChild({
text : text,
id : new Date()
.getTime(),
expanded : true,
leaf : true
});
}
}, this, false, // 表示文本框为多行文本框
"新添加子节点");
},
listeners : {
render : function(com) {
if(rootId==190||record.get('leaf') == true)
com.setVisible(false);
}
}
}, {
text : "编辑",
// icon:'images/leaf.gif',
// iconCls:'leaf',
handler : function() {
Ext.MessageBox.prompt("标题", "請輸入",
function(btn, text) {
if (btn == "ok") {
record.data.text= text;
}
}, this, false, // 表示文本框为多行文本框
record.data.text);
}
}, {
text : "删除",
// icon:'images/delete.gif',
// iconCls:'leaf',
handler : function() {
record.remove(record);
}
}]
});
nodemenu.showAt(e.getXY());
}
}
}
});
分享到:
相关推荐
功能: 1.实现ExtJS tree 节点右键菜单 实现增删查. 2.实现针对实体数据的动态搜索. 3.代码命名规范,简单易懂. 4.支持IE 9,FF 19.0.2. 5.将文件解压至ext包example任意组件文件夹即可浏览效果.
本篇文章将深入探讨如何在`ExtJS`的Tree组件中实现不同节点具有不同的右键菜单功能。 首先,我们需要理解`ExtJS`的`Tree`组件的基本工作原理。`Tree`是通过`TreeNode`对象来表示每一个层级节点的,每个节点都可以有...
例如,可以添加右键菜单、拖放功能、节点展开/折叠事件等。同时,`Ext.data.TreeModel`和`Ext.data.NodeInterface`提供了操作树节点的方法,如`expand()`, `collapse()`, `appendChild()`, `insertBefore()`等。 总...
3. 右键菜单 4. 节点增、删、改操作 ....... 后台是java struts1。 本例旨在说明extjs的tree操作,后台操作很简陋。给入门同学一个简单指导。 本例,存在几个明显的bug,但不影响本意,见谅。 需要C#无bug版的同学,...
本文档提供的代码实现了基于Extjs框架的树形结构,其中包含了复选框功能及右键菜单功能。该树形结构主要用于联系人管理系统的开发,提供了丰富的用户交互体验。通过以上知识点的解析,可以帮助开发者更好地理解和...
ExtJS Tree + JSON + Struts2 示例源代码详解 在Web开发中,构建交互式的用户界面是关键。...在实际开发中,你可以根据需求进一步定制TreePanel的功能,如添加右键菜单、节点编辑等,以满足更复杂的需求。
- `Ext.menu.Menu`可以与`itemcontextmenu`事件结合,创建节点的右键菜单。 - `Ext.selection.TreeModel`提供了树形选择行为,支持单选或多选。 总之,`ext.tree`是ExtJS库中一个强大且灵活的组件,通过配置和...
通过扩展Tree Node或Tree Panel,可以自定义节点的行为,例如添加右键菜单、拖放操作等。 通过以上步骤,我们就能在EXTJS中实现一个动态树。具体示例代码可能包括HTML、CSS和JavaScript文件,它们共同构成一个完整...
本文将深入探讨如何通过JavaScript实现一个支持右键菜单进行增删改查操作的树形结构组件。我们将重点介绍前端实现的细节,包括如何定义树形结构、如何响应用户的右键点击事件以及如何处理数据的增加、删除和修改。 ...
在本文中,我们将深入探讨ExtJS的TreePanel组件,以及如何利用ExtRightMenuTree实现自定义的右键菜单功能,以提供更丰富的用户交互体验。 首先,ExtJS是一个强大的JavaScript库,广泛用于构建富客户端应用。它的...
例如,可以监听`itemcontextmenu`事件来显示右键菜单,`beforeedit`事件来在编辑前进行验证,`edit`事件来处理编辑后的操作,以及`beforeremove`事件来确认删除操作。 7. **数据绑定**:EXTJS的树结构通常与后台...
【标题】"ext+ssh树,带右键功能"指的是在Web应用开发中,结合EXTJS(EXT)和Struts2(SSH)框架构建的一种特殊交互界面,它包含了一个能够展示层级结构数据的树形组件,并且具备了右键菜单功能。EXTJS是一款强大的...
8. **扩展和插件**:EXT Tree有丰富的扩展和插件,如`checkbox`(复选框节点)、`contextmenu`(右键菜单)等,可以进一步增强功能。 在文档`extjs的tree的使用.doc`中,你将找到关于如何设置这些配置、创建树实例...
- **显示背景菜单**:通过添加 `contextMenu` 配置项,为树节点提供右键菜单。 - **改变选择行为**:使用 selection model 的方法如 `select`, `deselect` 可以控制节点的选择状态。 通过上述知识,你不仅可以...
在"ExtJs树例子"这个主题中,我们主要关注的是ExtJS如何实现树形控件(Tree Panel)。 树形控件在Web应用中广泛用于展示层次结构的数据,比如文件系统、组织架构或菜单导航。ExtJS提供了一个完善的TreePanel组件来...
8. **菜单(Menus)**: 菜单组件提供下拉菜单和右键菜单,可自定义菜单项和快捷键。 9. **工具栏(Toolbars)**: 工具栏常用于放置按钮、分割线、下拉框等工具,可以放在窗口、面板等组件的顶部或底部。 10. **...
10.3 右键菜单 10.4 修改节点的默认图标 10.5 从节点弹出对话框 10.6 节点提示信息 10.7 为节点设置超链接 10.8 树形的拖放 10.8.1 节点拖放的3种形式 10.8.2 叶子不能append 10.8.3 判断拖放的目标 10.8.4...
开发者可以使用事件监听和插件机制,为Grid添加自定义行为,如右键菜单、双击事件等。 15. **响应式设计(Responsive Design)** Grid支持不同设备和屏幕尺寸,可以自动调整布局和列宽,适应移动设备和桌面环境。...
5. **树的交互**:ExtJS的树形控件支持多种交互,例如点击节点触发事件、拖放节点进行重新排序、右键菜单等。这些交互可以通过控制器来处理,增加用户的操作体验。 6. **配置与扩展**:树形控件可以高度自定义,...