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,请问怎么做这个。谢谢好心人的帮忙!
展开
 我来答
小豆526
2011-10-10 · TA获得超过165个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:144万
展开全部
在tabpanel上添加tabchange监听事件,上来默认的加载当前页,就是一上来就会自动触发这个事件,以后是通过点击标签页来触发,你可以通过判断标签页的title名称如
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){
//加载数据
}
}
}
});
这要看不懂我也没辙了,呵呵
苍山001
2011-10-14 · TA获得超过150个赞
知道小有建树答主
回答量:170
采纳率:0%
帮助的人:148万
展开全部
其实就是2个标签,然后每个标签中都有一个gripanel嘛。
你声明或定义2个不同的gridpanel就OK了?分开用,自己用自己的gripanel互不影响的啊?有问题吗?如果不能分开用在问我吧。我用过 别说2个,N个都用过 。
这样的话数据源也要分开定义,列模型也要分开定义
追问
本来gridpanel就是不同的gridpanel。那样也不是解决基本的问题,还有分开加载时是所有查询都一起进行,这样会觉得不必要的动作,而且回一开始觉得非常的慢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
124856
2011-10-10 · TA获得超过1011个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:198万
展开全部
你在每一个gridpanel中

监听afterrender事件

在监听方法里load数据
追问
能清楚点吗?我是EXT的初学者,谢谢拉!
追答
就是在每一个gridpanel中
配置 listeners :
{
'afterrender' : function()
{
load数据
}
},
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式