ext TabPanel 动态添加 GridPanel 问题 在线

shendexuan1986 2009-08-05 02:23:10
代码如下 :

var loggerListStore = new Ext.data.Store
({
url:'/portal/Comment.do?method=extLogger',
baseParams:{'memberID':'<%=memberID%>'},
reader:propertysReader,
listeners:
{
scope:this,
load:function()
{

}
}
});

var loggerGrid = new Ext.grid.GridPanel({
store: loggerListStore,
cm: new Ext.grid.ColumnModel([
{id:'title',header: "标题", width: 30, sortable: true, dataIndex: 'title'},
{header: "访问者", width: 10, sortable: true, dataIndex: 'commenter'},
{header: "访问时间", width: 50, sortable: true, dataIndex: 'commentTime'},
{header: "访问IP地址", width: 20, sortable: true, dataIndex: 'ipAddress'}
]),
sm: new Ext.grid.RowSelectionModel({ ///行选择模式
singleSelect:true, //单选
listeners:{ //事件监听
rowselect:function(sm,row,rec){

}
}
}),
bbar: new Ext.PagingToolbar({
pageSize:10,
store:loggerListStore,
displayMsg:'显示第{0}条到{1}条记录,共{2}条',
emptyMsy:'没有记录',
displayInfo:true
}),
viewConfig: {
columnsText:'显示的列',
scrollOffset:20,
sortAscText:'升序',
sortDescText:'降序',
forceFit:true
},
//width: 750,
height: 265,
closeAction:'hide',
//autoWidth:true,
//autoHeight:true,
//plugins: healthNewsExpander,
//collapsible: true,
//animCollapse: false,
//iconCls: 'icon-news',
stripeRows: true,
loadMask:true,
autoExpandColumn: 2
});

var mainPanel = new Ext.TabPanel({
//autoScroll:true,//有效?不管用!
activeTab : 0,//默认激活第一个tab页
animScroll : true,//使用动画滚动效果
enableTabScroll : true,//tab标签超宽时自动出现滚动按钮
layoutOnTabChange:true,//是否在tab页切换时重新对tab页元素进行布局
resizeTabs : true,
tabWidth:135,//设置tab页的初始宽度,默认为120px,resizeTabs=true时有效
minTabWidth: 120,//标签的最小宽度,resizeTabs=true时有效!
tabMargin : 50,
fill:true,//没用
listeners:{//当前侦听到关闭事件时,把要关闭的Panel隐藏
remove: function(tp, c) {
c.hide();
}
},
deferredRender:false,
autoTabs:true,//自动扫描页面中的div然后转换为标签页
items : [
{
title: '健康关怀',
id: 'default',
closable : true,
iconCls: 'diarytips',
autoScroll: true
}
],
applyTo : 'tabbedPanels'
});


function loadMainboardTab(menuname,menuid){
var tabname = menuname;
var tabid = "tab_"+menuid;
var tab = Ext.get(tabid);
var index = mainPanel.items.length + 1;
var hasTab = false;
if (tab)
{
hasTab = true;
mainPanel.setActiveTab(tabid);//设置为当前tab页
}
if (!hasTab)
{
var tabPage = mainPanel.add
({
title: tabname,
id: tabid,
autoScroll:true,
iconCls:'cog',
closable : true,//允许关闭
toDestroy: false,
items:
[
loggerGrid
]
});
loggerListStore.load({start:0,limit:10});
mainPanel.setActiveTab(tabPage);//设置当前tab页
}
}

第一次点击标签页 能够显示出loggerGrid 等到点击关闭标签页按钮之后 在点击标签页 loggerGrid 无法显示
求达人解决
...全文
853 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ngou 2009-08-05
  • 打赏
  • 举报
回复
mainPanel add:

autoDestroy: true,
beforedestroy: function()
{
this.remove('loggerGrid', false);//save our grid from destruction!
},

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧