- 浏览: 181732 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
yu505656166:
这个问题是怎么解决的啊?
spring mail 发送邮件,没有主题,没有收件人,显示乱码问题 -
dextersmake:
我的配置和你的差不多,调了有一些效果,但是还不是很满意。
YARN内存使用优化配置 -
kjkhi:
dxb350352 写道怎么用啊,运行完了也不知道取值的方法 ...
Apache POI组件使用eventusermodel模式读取Excel文档内容 -
dxb350352:
怎么用啊,运行完了也不知道取值的方法
Apache POI组件使用eventusermodel模式读取Excel文档内容 -
wanshijian:
相同问题,解决了!
使用cxf的wsdl2java是遇到的问题
先在前台ExtJS页面中:
GridPanel中显示所有用户信息:
新建一颗树:
注册树节点展开前事件,在展开前异步加载数据:
权限从树拉响gridpanel实现删除权限功能:
增加权限:
GridPanel中显示所有用户信息:
var userGrid = new Ext.grid.GridPanel({ id:'userGrid', title : '用户信息表', region : 'center', minColumnWidth : 50, enableDragDrop : true, //允许拖拽! ddGroup: "DDSource", loadMask : {msg:'正在加载数据,请稍侯...'}, store : userStore, sm : sm, cm : cm, viewConfig : { forceFit : false }, bbar : pageToolBar });
新建一颗树:
var userRole_treepanel = new Ext.tree.TreePanel({ id : "userRole_treepanel", title : '用户权限', width : 200, region : 'east', collapseMode :'mini', collapsible : true, lines: true, enableDD : true,//允许拖拽 ddGroup: "DDSource",//拖拽分组 autoScroll:true, rootVisible : true, loader : treeLoader, root : tree_root });
注册树节点展开前事件,在展开前异步加载数据:
//树节点展开前事件 userRole_treepanel.on("beforeexpandnode",function(node){ var id = node.id; if (id != "tree_root" && (node.hasChildNodes() == "" || node.firstChild == null)){ Ext.Ajax.request({ url : "getChildNode_userRole", params : {roleId:id}, success : function(response, opts){ var child = Ext.decode(response.responseText); node.appendChild(child); if (temp != null){ ddFunction(node, null, temp.selections); temp = null; } if(sourceRole != null && sourceUser != null){ appendNode(node,sourceUser,sourceRole);//把数据加进该节点的子节点 sourceRole = null; sourceUser = null; } }, failure : function(response,opts){ } }) } });
权限从树拉响gridpanel实现删除权限功能:
//响应权限从树拉向gridpanel实现删除! userRole_treepanel.on("afterrender",function(){ var dd = new Ext.dd.DropTarget("userGrid",{ ddGroup:"DDSource", notifyDrop : function(ddSource, e, data){ Ext.MessageBox.confirm("提示","确定删除用户【"+data.node.text+"】的【"+data.node.parentNode.text+"】权限?",function(id){ if("yes" == id){ var role_id = data.node.parentNode.id; var user_id = data.node.id; user_id = user_id.substring(user_id.indexOf("@")+1,user_id.length); Ext.Ajax.request({ url : "deleteUserRole_userRole", params : {roleId:role_id,userId:user_id}, success : function(response,opts){ }, failure : function(response, opts){ } }) data.node.remove(); } }); } }) });
增加权限:
//增加权限! userRole_treepanel.on("beforenodedrop",function(dropEvent){ var node = dropEvent.target; // 目标结点 var data = dropEvent.data; // 拖拽的数据 var point = dropEvent.point; // 加入到目标结点的位置方式append,above,below if (node.id == 'tree_root'){ dropEvent.cancel =true; return false; } if (node.parentNode.id == 'tree_root' && point != 'append') { return false; } if (!data.node) { //如果data.node为空,不是tree本身的拖拽,而是从grid到tree的拖拽,需要处理 switch (point) { case 'append': // 添加时,目标结点为node,子结点设为空。这时需要判断该节点是否已经从后台异步获取数据 if ((node.hasChildNodes() == "" || node.firstChild == null) && !node.isExpanded()){ temp = data; node.expand(); }else{ if (!node.isExpanded()){ node.expand(); } ddFunction(node, null, data.selections); } break; case 'above': ddFunction(node.parentNode, node, data.selections); break; case 'below': ddFunction(node.parentNode, node.nextSibling, data.selections); break; } }else {//树节点本身之前的拖动 var isok = true; var source_user_node = data.node; var source_user_id = data.node.id.substring(data.node.id.indexOf("@")+1,data.node.id.length); var source_role_id = data.node.parentNode.id; var target_role_id; if(point == 'append') { if ((node.hasChildNodes() == "" || node.firstChild == null) && !node.isExpanded()){ node.expand(); sourceRole = data.node.parentNode; sourceUser = source_user_node; return false; }else{ if (!node.isExpanded()){ node.expand(); } target_role_id = node.id; node.eachChild(function(child){ if(source_user_id == child.id.substring(child.id.indexOf("@")+1,child.id.length)){ Ext.MessageBox.alert("提示", "不能重复为用户:【"+data.node.text+"】添加【"+node.text+"】权限!"); isok = false; } }); if (isok){ Ext.Msg.confirm("提示","您确定要更改用户【"+data.node.text+"】的权限为【"+node.text+"】?",function(btn){ if ("yes" == btn){ node.appendChild(new Ext.tree.TreeNode({id:source_user_id,text:source_user_node.text,leaf:true})); source_user_node.remove(); ajaxRequest(source_user_id,source_role_id,target_role_id,"update");//更新数据库,update user_role set user_id = source_user_id,role_id = target_role_id where user_id = source_user_id and role_id = source_role_id }else return false; }); return false; }else return false; } }else{ target_role_id = node.parentNode.id; node.parentNode.eachChild(function(child){ if(source_user_id == child.id.substring(child.id.indexOf("@")+1,child.id.length)){ Ext.MessageBox.alert("提示", "不能重复为用户【"+data.node.text+"】添加【"+node.parentNode.text+"】权限!"); isok = false; } }); if (isok){ Ext.Msg.confirm("提示","您确定要更改用户【"+data.node.text+"】的权限为【"+node.parentNode.text+"】?",function(btn){ if ("yes" == btn){ node.parentNode.appendChild(new Ext.tree.TreeNode({id:source_user_id,text:source_user_node.text,leaf:true})); source_user_node.remove(); ajaxRequest(source_user_id,source_role_id,target_role_id,"update");//更新数据库update }else return false; }); return false; }else return false; } } });
- userRole.rar (3.8 KB)
- 下载次数: 675
发表评论
-
大数据处理--倒排索引
2014-06-28 14:08 4344简介 倒排索引源 ... -
大数据处理--BitSet
2014-06-28 11:01 1205java.util.BitSet可以按位存储。计算机中一个字 ... -
大数据处理--BloomFilter
2014-06-28 10:58 870BloomFilter——大规 ... -
hadoop 2.x升级异常
2014-06-19 11:54 22391、通过FileSystem这个API去访问hdfs上面的 ... -
Windows 编译Hadoop的Eclipse插件
2013-07-24 00:53 0http://www.cnblogs.com/fly ... -
log4j指定配置文件路径
2013-07-09 11:15 1855在默认情况下 log4j 会从WEB-INF/cl ... -
使用CXF发布和调用webservice
2013-05-08 16:14 1354依赖的JAR cxf-2.2.10.jar je ... -
Filter、Servlet、Listener区别与联系
2013-04-10 17:41 4130J2EE开发中,经常会使用到Filter、Servlet、L ... -
Apache POI组件使用eventusermodel模式读取Excel文档内容
2013-03-18 17:39 9005package com.test; import ja ... -
CXF之JAX-WS(转)
2012-12-18 17:31 1952CXF详解二 CXF之JAX-WS JAX-WS规范是一组 ... -
分析tomcat假死现象的过程
2012-10-15 15:50 0前段时间在公司遇到一个tomcat运行一段时间后(半个月左右 ... -
spring mail 通过HTTP代理发送邮件
2012-09-24 16:22 6571spring框架中org.spr ... -
多线程实现发送邮件功能
2012-09-14 18:44 11102通过Internet发送邮件,可能会在网络传输上面使用较多的 ... -
使用Spring mail通过socks代理发送邮件
2012-09-14 18:25 7027Spring框架提供了JavaMailSender接口及其实 ... -
plupload 上传组件,后台用java实现
2012-09-06 17:21 11417Plupload 是一个Web浏览器上的界面友好的文件上传模 ... -
POI读取大数据量的Excel文件
2012-09-06 11:58 14949POI读取Excel文件有两种方式,一种是使用usermod ... -
UML类图
2012-08-02 16:35 2005UML类图关系大全 1、关联双向关联:C1-C2:指 ... -
使用cxf的wsdl2java是遇到的问题
2012-03-13 10:50 3783对与同一个wsdl文件,我尝试过使用axis2是可以正常转过来 ... -
spring mail 发送邮件,没有主题,没有收件人,显示乱码问题
2012-03-06 14:02 4608使用spring框架风中的javamail发送邮件,遇到了一些 ... -
J2EE使用ireport做导出PDF操作
2012-03-02 17:21 2614首先,在lib中,加入一下jar: jasperreport ...
相关推荐
在家研究了一下extjs异步树,-每个节点都异步加载-前后台代码都有-附整个工程-运行通过-前台代码请看doctree.js,后台代码请看TreeService.java,运行环境:Myeclipse6.5+tomcat7.0.27
extjs异步树,多选树,json数据机构,集成spring,struts例子,extjs异步树,多选树,json数据机构,集成spring,struts例子,extjs异步树,多选树,json数据机构,集成spring,struts例子,extjs异步树,多选树,json...
AJAX: 以JSON数据格式,使用ExtJS构造动态异步加载的树。
extjs tree 异步加载树型完整的一个web工程,自已已经试过,可用。
extjs4,当点击左边的树,右边会生成相应的面板,代码精简,欢迎大家来学习,有问题可以直接交流。
说明:本例主要实现在树节点数据过多的情况下对数据进行异步请求,并且在请求数据返回前台的同时实现级联选择。使用ExtJs版本为4.1.1a,在struts2下测试通过。例子仅供提供思路,简单易懂,不负责代码优化,哈哈!
NULL 博文链接:https://kaobian.iteye.com/blog/996146
Extjs4下拉树菜单 ComboBoxTree 支持单选和多选并且支持展开选中指定节点的通用控件 在项目中已经成熟运用 值得收藏和运用
extjs实现动态树加载菜单
NULL 博文链接:https://lpcjrflsa.iteye.com/blog/1704537
Extjs动态树的实现以及节点拖拽
extJs 2,异步树,ext2源程序,tree; 一个完整的extJs 2Tree 例子.
提供Extjs树的动态菜单生成,已及对树的增删查改该操作
ExtJs4.2没有直接提供下拉树这个组件,但是有例子可以用,文件位置:ext-4.2.1.883\examples\ux\TreePicker.js 但是它有点小毛病吧:默认显示了根节点;达到最小高度时再展开节点,高度不能自动调整。 所以我做了一...
ExtJS4下拉树组件 ExtJS4下拉树组件
extjs实现动态树
功能: 1.实现ExtJS tree 节点右键菜单 实现增删查. 2.实现针对实体数据的动态搜索. 3.代码命名规范,简单易懂. 4.支持IE 9,FF 19.0.2. 5.将文件解压至ext包example任意组件文件夹即可浏览效果.
ExtJs中Store加载(load)时候提示信息
Extjs动态菜单可添加子项和编辑子项,拖动保存、dwr实现存储数据。
资料中有关于ajax框架中的Extjs框架的详细解释,异步请求和响应,以及一些特殊的用途.