日期:2014-05-16  浏览次数:20351 次

extjs 左边tree菜单,右边tabpanel中显示grid等信息的问题。
我现在做的已经实现了点击tree菜单的,右边出现grid,但是当关闭tabpanel中的grid,再打开相同的菜单时,tabpanel中不显示grid的信息,为什么?知道的告诉小弟一声,谢了。

一下是代码  
var menuTree = new Ext.tree.TreePanel({ 
region:'west', 
title:'功能菜单', 
width:180, 
// useArrows: true,
// minSize:150, 
// maxSize:200, 
// split:true, 
// autoScroll:true, 
// autoHeight:false, 
collapsible:true, 
// rootVisable:false, //不显示根节点 
dataUrl: 'system/samlib/get-nodes.php',
root: {
  // nodeType: 'async',
  text: '菜单列表'
  // draggable:false,
  // id:'source'
  },
listeners: {
'render': function(tp){
  tp.getSelectionModel().on('selectionchange', function(tree, node){
if(node.isLeaf()){

  // alert(node.attributes+"|"+node.leaf+"|"+node.text+"|"+node.id);
/* var tabWin = app.getModule('Spidermodel');
if(tabWin){
tabWin.launcher.handler.call(this.scope || this); //启动相应的模块
}  
*/

// var contentTabs = this.getMainCenter();//中间展示区的一个tabPanel
  /* var items = contentPanel.items;
  items.each(function(item){
  contentPanel.remove(item,true); //删除当前活跃的节点
  });
*/

var n = contentPanel.getItem(node.id); //获得要显示的选项卡
if(!n){
n = contentPanel.add({ 
'id':node.id, 
'title':node.text, 
closable:true, //通过html载入目标页 
layout:'form',
items: eval(node.id)
// html:'<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src="system/samlib/'+node.id+'.php?s=m"></iframe>' 
});
}
contentPanel.setActiveTab(n); 
contentPanel.doLayout();

}

  })
}
}  
});

------解决方案--------------------
add grid的时候加上closeAction:’hiden‘