ext.tapPanel中有多个ext.panel ,而每个panel都有一个gridPanel,怎么样通过点击后显示数据
如:varpanel=newExt.TabPanel({renderTo:'index',activeTab:0,items:[newExt.Panel({title:'...
如:var panel=new Ext.TabPanel({
renderTo :'index',
activeTab : 0,
items : [new Ext.Panel({
title : '客户列表',
layout:'fit',
items:[grid]
}), new Ext.Panel({
title : '客户账本列表',
id:"b1",
layout:'fit',
items:[...] //这里需要放进去的girdPanel实例
})]
});
问:怎么在加载完成后只显示第一个panel,这个已完成,而第二panel则需要鼠标点击后才能显示gridPanel中的数据,而每个panel都有一个gridPanel,请问怎么做这个。谢谢好心人的帮忙! 展开
renderTo :'index',
activeTab : 0,
items : [new Ext.Panel({
title : '客户列表',
layout:'fit',
items:[grid]
}), new Ext.Panel({
title : '客户账本列表',
id:"b1",
layout:'fit',
items:[...] //这里需要放进去的girdPanel实例
})]
});
问:怎么在加载完成后只显示第一个panel,这个已完成,而第二panel则需要鼠标点击后才能显示gridPanel中的数据,而每个panel都有一个gridPanel,请问怎么做这个。谢谢好心人的帮忙! 展开
3个回答
展开全部
在tabpanel上添加tabchange监听事件,上来默认的加载当前页,就是一上来就会自动触发这个事件,以后是通过点击标签页来触发,你可以通过判断标签页的title名称如
if(configPanel.getActiveTab().title=='111111‘){
//为所点击的标签页加载数据
grid.getStore().loadData(....);
}
if(configPanel.getActiveTab().title=='111111‘){
//为所点击的标签页加载数据
grid.getStore().loadData(....);
}
追问
第一个panel是一上就显示的,这个可以直接放在panel的items中,而另一个是点击该Panel才显示数据,要用事件来触发,但我不清楚怎么添加事件呀!能否给点例子来看看。谢啦!
追答
var panel1.........;
var panel2.........;
var tabpanel =new Ext.form.tabPanel({
width : 600,
activeTab : 0,
height : 550,
frame : true,
deferredRender : false,
layoutOnTabChange : true,
items:[panel1,panel2],
listeners:{
tabchange:function(t,p){//其中参数p指的是当前活动的panel
if(p==panel1){
//加载数据
}else if(p==panel2){
//加载数据
}
}
}
});
这要看不懂我也没辙了,呵呵
展开全部
其实就是2个标签,然后每个标签中都有一个gripanel嘛。
你声明或定义2个不同的gridpanel就OK了?分开用,自己用自己的gripanel互不影响的啊?有问题吗?如果不能分开用在问我吧。我用过 别说2个,N个都用过 。
这样的话数据源也要分开定义,列模型也要分开定义
你声明或定义2个不同的gridpanel就OK了?分开用,自己用自己的gripanel互不影响的啊?有问题吗?如果不能分开用在问我吧。我用过 别说2个,N个都用过 。
这样的话数据源也要分开定义,列模型也要分开定义
追问
本来gridpanel就是不同的gridpanel。那样也不是解决基本的问题,还有分开加载时是所有查询都一起进行,这样会觉得不必要的动作,而且回一开始觉得非常的慢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在每一个gridpanel中
监听afterrender事件
在监听方法里load数据
监听afterrender事件
在监听方法里load数据
追问
能清楚点吗?我是EXT的初学者,谢谢拉!
追答
就是在每一个gridpanel中
配置 listeners :
{
'afterrender' : function()
{
load数据
}
},
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询