/*****************右键按钮定义*********************/
var treeRightMenu = new Ext.menu.Menu({
id: 'theContextMenu',
items:[{
id:'policy_apply',
text:'策略应用',
iconCls:'connected_user'
},'-',
{
id:'veiw-all',
text:'查看',
iconCls:'bogus',
menu:[
{
id:'veiwNode',
text:'详情',
iconCls:'view'
},'-',{
id:'veiwUser',
text:'用户组',
iconCls:'un_connected_user'
}
]
},
{
id:'addNode',
text:'添加',
iconCls:'add',
menu:[
{
id:'addPerson',
text:'添加成员',
iconCls:'user-add'
},
{
id:'addGroup',
text:'添加部门',
iconCls:'add-group'
}
]
},'-',{
id:'delNode',
text:'删除',
iconCls:'remove'
},{
id:'modifNode',
text:'修改',
iconCls:'edit'
}
]
});
//树形菜单面板
var westPanel = new Ext.tree.TreePanel({
title:'组织结构图',
id:'tree-menu',
treeRightMenu:treeRightMenu, //声明右键菜单
animate:true,
region:'west',
width:300,
split: true,//添加分割线是否可以改变该panel的大小
minSize: 160,//设置拖动的最小拖动值
maxSize: 300,//设置拖动的最大拖动值
collapsible:true,//是否让panel能自动缩放
collapseMode:'mini',//在分割线处出现按钮
//contentEl:'tree-menu-div',
autoScroll:true,
enableDD:true,//是否支持拖拽效果
containerScroll: true,//是否支持滚动条
rootVisible:true,//是否显示跟节点
loader:new Ext.tree.TreeLoader({
dataUrl:'tree/tree_json.php'
}),
tools:[{
id:'refresh',
handler:function(){
var tree = Ext.getCmp('tree-menu');
tree.root.reload();
tree.expandAll();
}
}]
});
//菜单根节点
var root = new Ext.tree.AsyncTreeNode({
text:'根节点',
icon:'images/icon/org.gif',
draggable:false,
id:'tree-menu-root'
});
//给tree添加鼠标右键事件
westPanel.on('contextmenu',treeRightKeyAction,this);
//****开始绑定右键菜单事件*************
Ext.getCmp('addPerson').on('click',addPersonAction,this);
Ext.getCmp('addGroup').on('click',addGroupAction,this);
Ext.getCmp('delNode').on('click',delNodeAction,this);
Ext.getCmp('modifNode').on('click',modifNodeAction,this);
Ext.getCmp('veiwNode').on('click',veiwNodeAction,this);
Ext.getCmp('veiwUser').on('click',veiwUserAction,this);
Ext.getCmp('policy_apply').on('click',policyApplyAction,this);
;
/*************** 鼠标右键按钮事件 *************************************/
function treeRightKeyAction(node,e){
e.preventDefault();//阻止浏览器默认行为处理事件
node.select(); //节点选中
treeRightMenu.showAt(e.getXY()); //确定菜单显示位置
var selectedNode = westPanel.getSelectionModel().getSelectedNode();//得到选中的节点
//根据当前选中的节点判断是否屏蔽按钮。
var str_type = selectedNode.attributes.str_type;
//如果为根节点,则策略按钮不可用。
if(selectedNode.attributes.id=='tree-menu-root'){
Ext.getCmp('policy_apply').disable();
}else{
Ext.getCmp('policy_apply').enable();
}
//如果为用户,则用户组按钮不可用。
if(str_type=='person'){
Ext.getCmp('veiwUser').disable();
}else{
Ext.getCmp('veiwUser').enable();
dept_id = selectedNode.attributes.id;
}
}
分享到:
相关推荐
ext带右键菜单的树 ext带右键菜单的树
iframe所嵌套的页面无右键菜单, 在网上找了好多实例都不行,写的这个既简便,有很好用
Ext做的例子右键菜单设置forward跳转可使用于特殊的页面
右键菜单的资料,代码已经详细描写。请仿照文件中所描述即可使用,不限于EXT4.0以上版本使用。
下面是复选框的且带右键菜单的树代码。 HTML code Ext.BLANK_IMAGE_URL = "../resources/images/default/s.gif"; Ext.QuickTips.init(); Ext.state.Manager.setProvider(new Ext.state.CookieProvider()); ...
功能: 1.实现ExtJS tree 节点右键菜单 实现增删查. 2.实现针对实体数据的动态搜索. 3.代码命名规范,简单易懂. 4.支持IE 9,FF 19.0.2. 5.将文件解压至ext包example任意组件文件夹即可浏览效果.
博文链接:https://kingapex.iteye.com/blog/150806
撇开业务不说,单纯从技术层面来说,要想使用最少操作达到上述效果,博主想到了右键功能,如果能够在第2行或者第3行上面点击鼠标右键,通过右键菜单功能将选中的行移动到相应的位置,这样是不是最简单呢。...
简单易懂的ext.tree.panel 树形菜单绑定右击事件
今天在这里跟大家分享Bootstrap table弹出右键菜单的实现方法。 最近遇到有一个需求,需要在Bootstrap table上使用右键。网上搜了半天没有找到,最后发现Bootstrap table不支持右键(官方文档给出的答案 ...
从PyQt5的包中Lib\site-packages\PyQt5\Qt\translations找到qt_zh_CN.qm文件,复制到项目的目录下,可以新建个文件,只要在项目中就行。 ...提取码:5269 然后代码里面 if __name__ == '__main__': ...
插件下载地址: http://www.trendskitchens.co.nz/jquery/contextmenu/jquery.contextmenu.r2.js 压缩版: ...Jquery主页: http://jquery.com/ 通过此插件可以在不同... 代码如下: <... JQuery右键菜单 </TITLE>
// 右键菜单代码关键部分 //Menu 建立 var rightClick = new Ext . menu . Menu ({ id : ‘rightClickCont’ , // 在 HTML 文件中必须有个 rightClickCont 的 DIV 元素 items : [{ id : ‘rMenu1’ , handler : ...
整理文档,搜刮出一个vue2.0的contextmenu右键弹出菜单的实例代码,稍微整理精简一下做下分享。 1.事情对象 <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf...
在这下边: 方法一 代码如下: <%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”gridContextMenu.aspx.cs” Inherits=”gridContextMenu” %> <!DOCTYPE html PUBLIC “-//W3C//... /FONT>...
在下面我们将设计一个场景,表格grid需要在每行实现鼠标右键,增加,删除,保存操作。grid我就用gridview了,随便用微软提供的样式,测试用例不用搞的多好看嘛,我也不是做美工了,哈哈,偷偷懒。 先上效果图,是...
Page 1 A:link { TEXT-DECORATION: none } A:visited { TEXT-DECORATION: none } A:active { TEXT-DECORATION: none } A:hover { TEXT-DECORATION: underline overline } ... scrollbar-face-c
Struts项目中右键菜单一般很少用到,但是一旦客户有要求,很多人就懵圈了,比如我。这个时候,当然要表现镇定,一面拍着胸口对客户承诺说绝对可以实现,一面赶紧打开百度神器,搜搜看是否有前人已经写好的插件。 ...