`
姜中秋
  • 浏览: 88313 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Extjs4 tree右键菜单实现

ext 
阅读更多
直接上代码
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());
				}

			}
		}
	});



分享到:
评论
3 楼 lzbcrs 2014-11-06  
发个完整的行不 误人子弟 简单的demo 还发的不全 无语了
2 楼 hamlzf 2012-09-10  
好像不能用啊
1 楼 ashou1986 2012-06-16  

相关推荐

    ExtJS 自定义树组件 节点的操作 搜索 右键菜单

    功能: 1.实现ExtJS tree 节点右键菜单 实现增删查. 2.实现针对实体数据的动态搜索. 3.代码命名规范,简单易懂. 4.支持IE 9,FF 19.0.2. 5.将文件解压至ext包example任意组件文件夹即可浏览效果.

    Ext 中的Tree实现不同节点不同的右键菜单

    本篇文章将深入探讨如何在`ExtJS`的Tree组件中实现不同节点具有不同的右键菜单功能。 首先,我们需要理解`ExtJS`的`Tree`组件的基本工作原理。`Tree`是通过`TreeNode`对象来表示每一个层级节点的,每个节点都可以有...

    extjs ajax tree(js动态树,无需递归)

    例如,可以添加右键菜单、拖放功能、节点展开/折叠事件等。同时,`Ext.data.TreeModel`和`Ext.data.NodeInterface`提供了操作树节点的方法,如`expand()`, `collapse()`, `appendChild()`, `insertBefore()`等。 总...

    Extjs tree实例【源代码】

    3. 右键菜单 4. 节点增、删、改操作 ....... 后台是java struts1。 本例旨在说明extjs的tree操作,后台操作很简陋。给入门同学一个简单指导。 本例,存在几个明显的bug,但不影响本意,见谅。 需要C#无bug版的同学,...

    复选框的且带右键菜单的树代码

    本文档提供的代码实现了基于Extjs框架的树形结构,其中包含了复选框功能及右键菜单功能。该树形结构主要用于联系人管理系统的开发,提供了丰富的用户交互体验。通过以上知识点的解析,可以帮助开发者更好地理解和...

    extjs tree + json+struts2示例源代码

    ExtJS Tree + JSON + Struts2 示例源代码详解 在Web开发中,构建交互式的用户界面是关键。...在实际开发中,你可以根据需求进一步定制TreePanel的功能,如添加右键菜单、节点编辑等,以满足更复杂的需求。

    关于extjs ext.tree

    - `Ext.menu.Menu`可以与`itemcontextmenu`事件结合,创建节点的右键菜单。 - `Ext.selection.TreeModel`提供了树形选择行为,支持单选或多选。 总之,`ext.tree`是ExtJS库中一个强大且灵活的组件,通过配置和...

    EXTJS动态树的实现举例

    通过扩展Tree Node或Tree Panel,可以自定义节点的行为,例如添加右键菜单、拖放操作等。 通过以上步骤,我们就能在EXTJS中实现一个动态树。具体示例代码可能包括HTML、CSS和JavaScript文件,它们共同构成一个完整...

    使用右键实现增删改查的树形结构设计

    本文将深入探讨如何通过JavaScript实现一个支持右键菜单进行增删改查操作的树形结构组件。我们将重点介绍前端实现的细节,包括如何定义树形结构、如何响应用户的右键点击事件以及如何处理数据的增加、删除和修改。 ...

    ExtRightMenuTree

    在本文中,我们将深入探讨ExtJS的TreePanel组件,以及如何利用ExtRightMenuTree实现自定义的右键菜单功能,以提供更丰富的用户交互体验。 首先,ExtJS是一个强大的JavaScript库,广泛用于构建富客户端应用。它的...

    extjs目录树编辑

    例如,可以监听`itemcontextmenu`事件来显示右键菜单,`beforeedit`事件来在编辑前进行验证,`edit`事件来处理编辑后的操作,以及`beforeremove`事件来确认删除操作。 7. **数据绑定**:EXTJS的树结构通常与后台...

    ext+ssh树,带右键功能

    【标题】"ext+ssh树,带右键功能"指的是在Web应用开发中,结合EXTJS(EXT)和Struts2(SSH)框架构建的一种特殊交互界面,它包含了一个能够展示层级结构数据的树形组件,并且具备了右键菜单功能。EXTJS是一款强大的...

    EXT tree 使用 实例 最新

    8. **扩展和插件**:EXT Tree有丰富的扩展和插件,如`checkbox`(复选框节点)、`contextmenu`(右键菜单)等,可以进一步增强功能。 在文档`extjs的tree的使用.doc`中,你将找到关于如何设置这些配置、创建树实例...

    Extjs教程_第八章_Tree(树)(2)

    - **显示背景菜单**:通过添加 `contextMenu` 配置项,为树节点提供右键菜单。 - **改变选择行为**:使用 selection model 的方法如 `select`, `deselect` 可以控制节点的选择状态。 通过上述知识,你不仅可以...

    ExtJs树例子

    在"ExtJs树例子"这个主题中,我们主要关注的是ExtJS如何实现树形控件(Tree Panel)。 树形控件在Web应用中广泛用于展示层次结构的数据,比如文件系统、组织架构或菜单导航。ExtJS提供了一个完善的TreePanel组件来...

    Extjs中文api

    8. **菜单(Menus)**: 菜单组件提供下拉菜单和右键菜单,可自定义菜单项和快捷键。 9. **工具栏(Toolbars)**: 工具栏常用于放置按钮、分割线、下拉框等工具,可以放在窗口、面板等组件的顶部或底部。 10. **...

    精通JS脚本之ExtJS框架.part2.rar

    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...

    extjs表格Grid比较全面的功能

    开发者可以使用事件监听和插件机制,为Grid添加自定义行为,如右键菜单、双击事件等。 15. **响应式设计(Responsive Design)** Grid支持不同设备和屏幕尺寸,可以自动调整布局和列宽,适应移动设备和桌面环境。...

    extJS_MVC_Tree:extjs树

    5. **树的交互**:ExtJS的树形控件支持多种交互,例如点击节点触发事件、拖放节点进行重新排序、右键菜单等。这些交互可以通过控制器来处理,增加用户的操作体验。 6. **配置与扩展**:树形控件可以高度自定义,...

Global site tag (gtag.js) - Google Analytics