[紧急求助]如何在tabpanel中清空上次查询的结果记录以及查询条件

toss2000 2010-09-16 03:17:43
现在做的一个功能,页面分左右两部分,选择左边的一个菜单,右边打开一个tabpanel,它包含一个查询条件输入框、查询按钮和一个表格,选择查询条件后,会在表格中生成一个结果集,关闭这个tabpanel之后,再次选择同一菜单,结果打开的tabpanel中仍然保留了上次的查询条件和结果集,如何才能让他们被清除掉呢?请指教
...全文
242 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
toss2000 2010-09-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zoujp_xyz 的回复:]
引用 7 楼 toss2000 的回复:

我是想在每一个tab显示前或后,先把tab中的上次查询到的内容先清除了

在查询成功后清楚一样的
[/Quote]
这是我在一个tab中的查询代码,这个函数,是在一个button的handler中调用的:
var searchFlightFile = function() {
storeFlightFile.baseParams.conditions = flightCode4.getValue();
storeFlightFile.load({
params : {
start : 0,
limit : 10
}
});
storeFlightFile.removeAll();
}
结果,在关闭了这个tab后,再次打开时发现上次查询的结果还在,是不是 storeFlightFile.removeAll();放的位置不对吗?
toss2000 2010-09-17
  • 打赏
  • 举报
回复
IBM_hoojo, 真的不知道该怎么感谢你了!!!!afterlayout事件确实可行!!!!我根据extjs文档试了很多event就是没试这个!!!揭帖!!!
zoujp_xyz 2010-09-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 toss2000 的回复:]

我是想在每一个tab显示前或后,先把tab中的上次查询到的内容先清除了
[/Quote]
在查询成功后清楚一样的
toss2000 2010-09-17
  • 打赏
  • 举报
回复
我是想在每一个tab显示前或后,先把tab中的上次查询到的内容先清除了
hoojo 2010-09-17
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 toss2000 的回复:]

IBM_hoojo,我是这样做的,但是发现render事件,只在tab第一次显示时,会执行,tab关闭后,再次打开时这个事件就不再执行,另外,show事件就一直没执行过,是不是我的tabpanel的remove事件引起的啊,下面是tabpanel的remove事件代码,请帮我看看
var mainTab = new Ext.TabPanel({
region : 'center',
aut……
[/Quote]

那用show、 afterlayout 事件看看, afterlayout 事件应该可以
toss2000 2010-09-17
  • 打赏
  • 举报
回复
同志们帮帮忙啊……
toss2000 2010-09-17
  • 打赏
  • 举报
回复
加了分再往前提提
toss2000 2010-09-17
  • 打赏
  • 举报
回复
IBM_hoojo,我是这样做的,但是发现render事件,只在tab第一次显示时,会执行,tab关闭后,再次打开时这个事件就不再执行,另外,show事件就一直没执行过,是不是我的tabpanel的remove事件引起的啊,下面是tabpanel的remove事件代码,请帮我看看
var mainTab = new Ext.TabPanel({
region : 'center',
autoDestroy:false,
items : {
/** 定义一个默认的tabpanel */
title : '系统介绍',
html : '<div style="position:absolute;top:60;left:120;"><img src="/MyFirstExtjs/images/bg.jpg"/></div>'
},
listeners:{remove:function(tp,c)
{
c.hide();

}
}/**作这个处理,为的是关闭一个tab后,再次打开时它还能显示出来*/
});
mainTab.activate(0);
hoojo 2010-09-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 toss2000 的回复:]

引用 8 楼 zoujp_xyz 的回复:
引用 7 楼 toss2000 的回复:

我是想在每一个tab显示前或后,先把tab中的上次查询到的内容先清除了

在查询成功后清楚一样的

这是我在一个tab中的查询代码,这个函数,是在一个button的handler中调用的:
var searchFlightFile = function() {
storeFlightFile……
[/Quote]

给你要清除内容的tabPanel的那个tab添加render或show事件
在事件中执行清除操作或是重新渲染下
zoujp_xyz 2010-09-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 toss2000 的回复:]

谢谢zoujp_xyz,现在遇到的麻烦事是,grid.getStore().removeAll()或textfield.reset()只能在 Ext.TabPanel(listeners:{remove:function(tp,c)
{
Ext.getCmp('code4').reset();
Ext.getCmp('grid').getStore().removeAll();
}
}……
[/Quote]
想在相应什么事件后执行?grid.getStore().removeAll()或textfield.reset()怎么会只是在remove事件后执行呢?
toss2000 2010-09-16
  • 打赏
  • 举报
回复
再顶!!!!!
toss2000 2010-09-16
  • 打赏
  • 举报
回复
急啊,请高手相助啊
toss2000 2010-09-16
  • 打赏
  • 举报
回复
谢谢zoujp_xyz,现在遇到的麻烦事是,grid.getStore().removeAll()或textfield.reset()只能在 Ext.TabPanel(listeners:{remove:function(tp,c)
{
Ext.getCmp('code4').reset();
Ext.getCmp('grid').getStore().removeAll();
}
}
中才能实现,这个不是我想要的,因为我们的系统中,tabpanel中包含了很多个tab,我是想把grid.getStore().removeAll()或textfield.reset()放到各个tab中在相应的事件中执行,可是试了很多事件都没有成功,请高手指点
zoujp_xyz 2010-09-16
  • 打赏
  • 举报
回复
可以在查询成功后执行,也可以在modal窗体hide后执行
zoujp_xyz 2010-09-16
  • 打赏
  • 举报
回复
如果是表单组件的话就用form.reset();清空。单个的textfield等也可以用reset()
grid清空的话就grid.getStore().removeAll();
内容概要:本文针对无刷直流电机驱动的电子机械制动(EMB)执行器,建立了考虑Stribeck摩擦特性的非线性耦合动力学模型,并在Simulink环境完成了系统级仿真分析。研究综合集成了电机动力学、齿轮传动机构与制动执行机构的动力学特性,构建了高保真的机电一体化系统模型。重点引入Stribeck摩擦模型以精确描述低速工况下执行器内部存在的静摩擦、粘滞摩擦与库仑摩擦之间的过渡行为,有效提升了系统在启停、反向运动等瞬态过程的动态响应仿真精度。通过多工况仿真验证了模型的有效性,能够准确反映摩擦引起的爬行、滞后与定位误差等非线性现象,为EMB系统的高性能控制算法设计(如摩擦补偿、滑模控制)与结构优化提供了高可信度的仿真平台。; 适合人群:从事汽车电子制动系统、电机驱动控制、机电系统建模与仿真研究的研究生、科研人员及工程技术人员,需具备扎实的机械动力学、自动控制理论基础和MATLAB/Simulink仿真能力。; 使用场景及目标:①用于高精度电子机械制动系统的设计验证与性能预测;②为消除摩擦非线性影响的先进控制策略(如自适应控制、智能控制)提供精确的被控对象模型;③深入探究Stribeck摩擦等非线性因素对系统动态性能(如响应延迟、稳态误差)的作用机理; 阅读建议:读者应结合提供的Simulink模型文件,深入剖析Stribeck摩擦模块的数学实现与参数辨识方法,建议通过改变输入指令(如阶跃、正弦)和负载条件进行对比仿真,以直观理解非线性摩擦对系统动态特性的影响。

52,780

社区成员

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

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