extjs4.2 中Viewport动态添加或删除panel中的items
来源:互联网 发布:储钱罐理财软件怎么样 编辑:程序博客网 时间:2024/05/03 06:55
显示的viewport
var viewPort = new Ext.Viewport({ id:'mainView', layout : "border", items : [{ xtype: 'panel', // title: 'Bottom Inner Panel', width: '50%', region:'west',//指定子面板所在区域 height: document.documentElement.clientHeight, items:[ShxpGrid] }, { id:'treePanel', xtype: 'panel', // title: 'Bottom Inner Panel', width: '50%', region: 'center', height: document.documentElement.clientHeight, containerScroll : true, items: [tree], rootVisible: false,//是否显示根节点, layout:"fit" } ] });
现在我想通过一个事件将id为treePanel中的items替换掉,步骤如下:
1.添加监听事件
listeners: { select:function(rowModel,record){//获取选中行的数据 var obj = rowModel.getLastSelected().data; var key = "SYSTEMID"; //alert(obj[key]); Ext.getCmp('treePanel').removeAll();//删除treePanel systemId = obj[key]; changeMenu(systemId);//通过方法进行替换 }
2.我做的是权限树的删除替换
function changeMenu(systemId){ var newtree = Ext.create("Ext.panel.Panel", { height : '100%',//设置高度 region : 'north', border:false, layout : { type : 'accordion', titleCollapse : false,//允许通过点击标题栏的任意位置来展开/收缩子项Panel animate : true,// 动画切换效果 activeOnTop : false // 折叠展开是否改变菜单顺序 }, layoutConfig : { animate : true }, split : true }); Ext.Ajax.request({//向服务端发送ajax请求 url:ctx+'/right/getUserRightCheckboxList',//请求地址 waitMsg: '正在加载权限菜单. ...', method : 'post', params : {systemid : systemId }, success : function(response) { var json = Ext.JSON.decode(response.responseText);//获取返回的文本并解析为json格式。Ext.JSON.decode(..):解码(解析)JSON字符串对象。 if(json.code == 'OK'){ newtree.getEl().unmask(); Ext.each(json.data, function(el) {//迭代一个数组或是可迭代的值,在每个元素上调用给定的回调函数 var panel = Ext.create('Ext.panel.Panel', {//创建一个Panel id : el.id,//定义id title : "权限配置",//定义标题 iconCls:el.iconCls,//定义图标 layout : 'fit'//定义布局。fit:当容器只包含一个子元素时, 子元素自动填满容器 }); panel.add(buildTree(el));//当前Panel添加由此节点的子节点所创建的树面板 newtree.add(panel);//tree(1个Panel)添加当前Panel }); }else{ Ext.Msg.alert('加载失败', respText.message+"("+respText.code+")"); } }, failure : function(request) { tree.getEl().unmask(); Ext.MessageBox.show({ title : '操作提示', msg : "连接服务器失败", buttons : Ext.MessageBox.OK, icon : Ext.MessageBox.ERROR }); }, }); Ext.getCmp('treePanel').add(newtree); }这样将newtree放到方法中,全台就不会报错了
阅读全文
0 0
- extjs4.2 中Viewport动态添加或删除panel中的items
- 动态改变panel 中items内容
- extjs panel中动态增加items
- Extjs4.2 MVC 动态添加删除组件
- ExtJs中实现动态给items添加删除数据
- 关于extjs4.2中的Ext.form.Panel
- 动态删除Ext.TabPanel中的某个Items
- 如何动态删除Ext.TabPanel中的Items
- 一个动态添加panel 和 删除panel的例子
- extjs表单中动态添加items
- ext中在panel中动态添加一个panel
- 向tableLayoutPanel中动态添加panel
- (34)ExtJS之Panel中的标签页,通过items添加标签页示例
- extjs4 grid 多选、添加复选框、动态添加删除数据
- extjs4 grid 多选、添加复选框、动态添加删除数据
- 向网页中动态添加或删除控件
- C# WF 删除panel容器动态添加的控件
- Extjs4.2边学边用之panel
- Codeforces899C-Dividing the numbers
- Redux入门
- __declspec(dllimport)的作用
- 基于Centos7 创建一个lxc
- Flex 布局教程:实例篇
- extjs4.2 中Viewport动态添加或删除panel中的items
- 下订单
- linux用yum来将默认的仓储更换成本地163网易地址仓储
- Eclipse使用Maven创建Web时错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webap
- 关于ORACLE中SGA的配置
- 色温和白平衡
- 曾经我是一个只会 Excel 的数据分析师,直到我遇到了……
- android
- MyEclipse 远程调试Tomcat