`
newqinhao
  • 浏览: 141196 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

panel_load_刷新

    博客分类:
  • j2ee
阅读更多
引用页刷新的问题不仅仅体现在TabPanel里,只要是带load的panel都是适用的~怎么让一个panel去刷新和更新呢?
更新的话很容易,只要调用Ext.Panel.load()就可以,panel会自动用load方法里的参数去更新panel。
load的官方描述如下:
load( Object/String/Function config ) : Ext.Panel
Loads this content panel immediately with content returned from an XHR call.
那么按理说,我们要刷新的话,只要用load方法,传进原来的参数就可以实现刷新了,但是对于TabPanel这种,panel很多,ExtJS的Panel本身没有得到URL的方法,自己记录管理URL又太麻烦,要是能让他有reload方法就好了。其实是可以reload的,只是这个方法不在Panel里,往下看!
我们先来看一下,panel是用什么去ajax加载引用另一个页面的。我们看下Panel的autoLoad,对于autoLoad的官方描述如下:
autoLoad : Object/String/Function
A valid url spec according to the Updater Ext.Updater.update method. If autoLoad is not null, the panel will attempt to load its contents immediately upon render.
The URL will become the default URL for this panel's body element, so it may be refreshed at any time.

原来Panel的autoLoad是借助Ext.Updater,在Updater的Method里,我们发现有这样一个方法:
refresh( [Function callback] ) : void
Refresh the element with the last used url or defaultUrl. If there is no url, it returns immediately
Parameters:
callback : Function
(optional) Callback when transaction is complete - called with signature (oElement, bSuccess)
Returns:
void
看看,Updater本身是有刷新的方法的,那么接下来只要找到Panel和Updater的关联的方法,就可以让Panel自己刷新了。
Panel里有个叫getUpdater()的方法,官方描述如下:
getUpdater() : Ext.Updater
Get the Ext.Updater for this panel. Enables you to perform Ajax updates of this panel's body.
Parameters:
None.
Returns:
Ext.Updater

问题解决了,我们来写2个function去分别封装下panel的“更新”和“刷新”:
//刷新一个panel
function Panel_Refesh(panelObj)
{
//panelObj是Ext.Panel
panelObj.getUpdater().refresh();
}
//更新一个panel
function Panel_URLUpdate(panelObj,newURL)
{
//panelObj是Ext.Panel,newURL是一个String
panelObj.load(newURL);
}

Further more,针对TabPanel:(假设变量_myTabs是TabPanel的句柄,全局的)
function TabPanel_RefreshActiveTab()
{
_myTabs.getActiveTab().getUpdater().refresh();
}
function TabPanel_RefreshTab(panelID)
{
var x=_myTabs.getCmp(panelID);
if(x)
{
   _myTabs.setActiveTab(x);
   x.getUpdater().refresh();
}
}


分享到:
评论

相关推荐

    项目_网吧收费系统主程序

    private void F_main_Load(object sender, EventArgs e) { //定义SQL语句 string str_sql = string.Format("select cardid,cardnumber,cardbalance,transacttime from cardinfo"); //生成适配器实例 da = new ...

    ExtAspNet_v2.3.2_dll

    ExtAspNet - ExtJS based ASP.NET Controls with Full AJAX Support ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI... -这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,TabStrip)都可以通过这种方式全屏。 -简单方便,示例可以参考 default.aspx 或者 other\...

    C# for CSDN 乱七八糟的看不懂

    没法下载,到这里折腾一把试试。 本文由abc2253130贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 C#(WINFORM)学习 一、 C#基础 基础 类型和变量 类型和变量 类型 C# 支持两...

    C#浏览器编程,学习使用

    4 浏览器网络编程(共两周) 4.1 浏览器工作原理(老师讲解1学时,学生理解1学时) 浏览器工作原理如图4-1所示。 图4-1 浏览器工作原理 ... private void Form1_Load(object sender, EventArgs e) ...

    ASP.NET常用代码

    <asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel> 13.回车转换成Tab if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement....

    ASP.NET程序中常用的三十三种代码.txt

    <asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel>  13.回车转换成Tab  if (event.keyCode==13 && event.srcElement.type!=’button’ && event.srcElement.type! =’submit’ && event....

    ASP.NET3.5从入门到精通

    4.6.3 页面载入事件(Page_Load) 4.6.4 页面卸载事件(Page_Unload) 4.6.5 页面指令 4.7 ASP.NET 网站文件类型 4.8 小结 第二篇 ASP.NET窗体控件 第 5 章 Web 窗体的基本控件 5.1 控件的属性 5.2 简单控件 5.2.1 ...

    ASP.NET 3.5 开发大全11-15

    4.6.3 页面载入事件(Page_Load) 4.6.4 页面卸载事件(Page_Unload) 4.6.5 页面指令 4.7 ASP.NET网站文件类型 4.8 小结 第二篇 ASP.NET窗体控件 第5章 Web窗体的基本控件 5.1 控件的属性 5.2 简单控件 5.2.1 标签...

    ASP.NET 3.5 开发大全

    4.6.3 页面载入事件(Page_Load) 4.6.4 页面卸载事件(Page_Unload) 4.6.5 页面指令 4.7 ASP.NET网站文件类型 4.8 小结 第二篇 ASP.NET窗体控件 第5章 Web窗体的基本控件 5.1 控件的属性 5.2 简单控件 5.2.1 标签...

    ASP.NET 3.5 开发大全1-5

    4.6.3 页面载入事件(Page_Load) 4.6.4 页面卸载事件(Page_Unload) 4.6.5 页面指令 4.7 ASP.NET网站文件类型 4.8 小结 第二篇 ASP.NET窗体控件 第5章 Web窗体的基本控件 5.1 控件的属性 5.2 简单控件 5.2.1 标签...

    ASP.NET 3.5 开发大全word课件

    4.6.3 页面载入事件(Page_Load) 4.6.4 页面卸载事件(Page_Unload) 4.6.5 页面指令 4.7 ASP.NET网站文件类型 4.8 小结 第二篇 ASP.NET窗体控件 第5章 Web窗体的基本控件 5.1 控件的属性 5.2 简单控件 5.2.1 标签...

    ASPNET35开发大全第一章

    4.6.3 页面载入事件(Page_Load) 4.6.4 页面卸载事件(Page_Unload) 4.6.5 页面指令 4.7 ASP.NET网站文件类型 4.8 小结 第二篇 ASP.NET窗体控件 第5章 Web窗体的基本控件 5.1 控件的属性 5.2 简单控件 5.2.1 标签...

    jQuery详细教程

    $(".panel").slideToggle("slow"); }); }); <style type="text/css"> div.panel,p.flip { margin:0px; padding:5px; text-align:center; background:#e5eecc; border:solid 1px #c3c3c3; } div.panel { height...

    C#编程经验技巧宝典

    C#编程经验技巧宝典源代码,目录如下: 第1章 开发环境 1 <br>1.1 Visual Studio开发环境安装与配置 2 <br>0001 安装Visual Studio 2005开发环境须知 2 <br>0002 配置合适的Visual Studio 2005...

Global site tag (gtag.js) - Google Analytics