转自:https://www.cnblogs.com/linjiqin/archive/2011/06/22/2086620.html

面板Ext.Panel使用

概要
1、Ext.Panel概述
2、面板的五大组成部分
3、面板的特点
4、面板中的内容
5、面板内容动态控制
6、API概述
               
1、Ext.Panel概述

面板Panel是ExtJS控件的基础,很多高级控件都是在面板的基础上扩展的,还有其它大多数控件也都直接或间接与它有关系。应用程序的界面一般情况下是由一个一个的面板通过不同组织方式来形成。

2、面板的五大组成部分

面板由以下几个部分组成,一个顶部工具栏(tbar)、一个底部工具栏(bbar)、面板头部(header)、面板尾部(bottom)、面板主区域(body)几个部分组成。面板类中还内置了面板展开、关闭等功能,并提供一系列可重用的工具按钮使得我们可以轻松实现自定义的行为,面板可以放入其它任何容器中,面板本身是一个容器,他里面又可以包含各种其它组件。

面板的类名为Ext.Panel,其xtype为panel,下面的代码可以显示出面板的各个组成部分:

  1.  
  2. <script type="text/javascript">
  3. Ext.onReady(function(){
  4. new Ext.Panel({
  5. title: "面板用法",
  6. width: 300,
  7. height: 200,
  8. renderTo: Ext.getBody(),
  9. html: "<h1>面板主区域</h1>",
  10. tbar: [{
  11. text: "顶部工具栏topToolbar"
  12. }],
  13. bbar: [{
  14. text: "底部工具栏bottomToolbar"
  15. }],
  16. buttons: [{
  17. text: "按钮位于footer"
  18. }]
  19. });
  20. });
  21. </script>

显示效果如下:

一般情况下,顶部工具栏或底部工具栏只需要一个,而面板中一般也很少直接包含按钮,一般会把面板上的按钮直接放到工具栏上面。比如下面的代码:

  1.  
  2. <script type="text/javascript">
  3. Ext.onReady(function(){
  4. new Ext.Panel({
  5. title: "面板用法",
  6. width: 300,
  7. height: 200,
  8. renderTo: Ext.getBody(),
  9. html: "<h1>面板主区域</h1>",
  10. tbar: [{
  11. pressed: true,
  12. text: "刷新"
  13. }]
  14. });
  15. });
  16. </script>

显示效果如下:

3、面板的特点

面板Panel主要有下面几个特点:

1)、面板可以理解成应用程序中的一个界面块,这个块可以大,也可以小,这一个块包含了特定的样式信息;

2)、面板Panel继承自Container类,因此,面板是一个可视化容器组件;也是其它大多数可视化控件如TabPanel、Window、TreePanel的基类;

3)、面板中即可包括其它元素组件,也可以包含特定html代码片段,可以在程序中动态更新面板中的内容;

4)、面板由固定的5个部分组成,除了body部份以外,其它部分都不是必须的。

4、面板中的内容
如果要在面板中放置Ext组件或控件元素,则可以通过面板的items属性来指定,这个属性的值可以是一个数组,表示面板中有很多子元素,也可以是一个对象,表示面板中只定义一个子元素。当面板对象创建以后,可以通过面板容器的add、insert来动态往面板中增加子元素,用remove方法来在面板动态删除子元素。
                
5、面板内容动态控制

面板中的内容也可以是指定的html片段,此时可以通过配置选项中html属性来指定。比如下面的代码:

  1.  
  2. Ext.onReady(function(){
  3. new Ext.Panel({
  4. title: "面板用法",
  5. width: 300,
  6. height: 200,
  7. renderTo: Ext.getBody(),
  8. html: "<h1><font color='red'>面板主区域</font></h1>",
  9. });
  10. });
  11. </script>

显示效果如下:

当然,如果面板中的html比较复杂,比如是说是一个动态页面的内容。此时可以通过在配置选项中设置autoLoad配置选项来指定自动加载指定url中的内容作为面板中显示的内容。比如下面的代码:
  1.  
  2. <script type="text/javascript">
  3. Ext.onReady(function(){
  4. new Ext.Panel({
  5. title: "面板用法",
  6. width: 300,
  7. height: 200,
  8. autoLoad:{
  9. url:"index.html"
  10. }
  11. });
  12. });
  13. </script>
也可以在对象初始化以后,动态更新面板中的html内容,可以通过调用面板的load方法实现,load方法中的参数与autoLoad配置选项中所代表的一样,代码如下:
  1.  
  2. <script type="text/javascript">
  3. Ext.onReady(function(){
  4. var panel=new Ext.Panel({
  5.  
  6. renderTo: Ext.getBody()
  7. });
  8. panel.load({
  9. url:"index.jsp",
  10. params:{name:"ljq",pwd:"123"},
  11. scope: this,
  12. discardUrl: false,
  13. nocache: false,
  14. text: "正在加载,请稍候...",
  15. timeout: 30,
  16. scripts: true
  17. });
  18. });
  19. </script>
                           
这时候直接通过面板的body元素来实现面板的内容的更新。比如下面的代码:

  1. panel.body.update("<h1><font color='blue'>这是Ext的面板</font></h1>", true, function(){});

update的第一个参数表示要更新的html字符串,第二个参数表示是否执行字符串中的脚本,第三个参数是指当内容已经更新完成后执行的回调函数。

                  
6、API概述

36.面板Ext.Panel使用的更多相关文章

  1. [转载]ExtJs4 笔记(9) Ext.Panel 面板控件、 Ext.window.Window 窗口控件、 Ext.container.Viewport 布局控件

    作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...

  2. ExtJs4 笔记(9) Ext.Panel 面板控件、 Ext.window.Window 窗口控件、 Ext.container.Viewport 布局控件

    本篇讲解三个容器类控件. 一.面板控件 Ext.Panel 一个面板控件包括几个部分,有标题栏.工具栏.正文.按钮区.标题栏位于最上面,工具栏可以在四个位置放置,围绕中间部分正文,按钮区位于最小方.下 ...

  3. Ext 面板(Panel)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. Ext.Panel的主要功能

    介绍面板组件的主要配置项及经常用法,这些配置项及方法将在后面的演示样例中用到,能够把这部分内容作为兴许章节的铺垫,进行高速的浏览,Ext.Panel主要配置项目如表5-1所看到的. 表5-1  Ext ...

  5. Ext.js 中 25种类型的Ext.panel.Tool

    通过Ext.panel.Panel的tools配置项来设置Ext.panel.Tool实例. 要注意的一点是,Ext框架提供的Ext.panel.Tool仅包含按钮图标而具体的点击事件处理函数需要我们 ...

  6. ExtJs Ext.panel.Panel和Ext.container.Viewport布局问题

    Ext.container.Viewport Ext.panel.Panel Viewport 它的布局会占用整个 body,也应该是这样,它会随着浏览器的高度和宽度的变化而变化. Panel 布局时 ...

  7. ext panel 它们的定义图像刷新

    从管理发展的近期回报.事实上,它采取了一些努力,以适应,应对来自另一个角度的问题只.外观似良好的效果.阿土,项目用到了EXT js.百度大神里面没找到一个合适的图片组件.自己写了个能够刷新的图片组件. ...

  8. Pandas面板(Panel)

    面板(Panel)是3D容器的数据.面板数据一词来源于计量经济学,部分源于名称:Pandas - pan(el)-da(ta)-s. 3轴(axis)这个名称旨在给出描述涉及面板数据的操作的一些语义. ...

  9. jQuery EasyUI API 中文文档 - 面板(Panel)

    Panel 面板   用$.fn.panel.defaults重写defaults. 用法示例 创建Panel 1. 经由标记创建Panel 从标记创建Panel更容易.把 'easyui-panel ...

随机推荐

  1. java中随机生成字符串的方法(三种)

    org.apache.commons.lang(2.6): 链接:https://pan.baidu.com/s/1k_oeA5AjSt6evoR7zT8gpQ 提取码:yhl5 1.生成的字符串每个 ...

  2. Duboo学习-SPI

    待补充 现将Dubbo-SPI相关源码流程图更新

  3. mongodb--命令练习

    windows10安装下载mongodb # 官网或镜像地址下载mongodb exe 二进制安装包 # 安装时选用custorm 去除勾选compass可视化工具 # 安装完成创建data文件,修改 ...

  4. Python&机器学习总结(二)

    ① Python中的Sort Python中的内建排序函数有 sort()和sorted()两个 list.sort(func=None, key=None, reverse=False(or Tru ...

  5. Struts2的介绍

    Struts2的介绍 制作人:全心全意 Struts引用的是MVC(Model-View-Controller,模型-视图-控制器)设计理念.目前,JavaWeb应用MVC设计理念的框架有很多,如St ...

  6. PHP 结合前端 ajax 爬取网站信息后, 向指定用户发送指定短信;

    <?php /** * Description * @authors Your Name (you@example.org) * # 根据时时彩的最新一期的号码, 判断如果为首尾同号则发送短信 ...

  7. Spring核心技术(二)——Spring的依赖及其注入

    本文将继续前文,描述Spring IoC中的依赖处理. 依赖 一般情况下企业应用不会只有一个对象(或者是Spring Bean).甚至最简单的应用都要多个对象来协同工作来让终端用户看到一个完整的应用的 ...

  8. [BZOJ2120] 数颜色 && [bzoj2453] 维护队列(莫队 || 分块)

    传送门 只有第一个,第二个权限题. 分块,然而wa,没看出来错在哪里,有时间再看. #include <cmath> #include <cstdio> #include &l ...

  9. 【待续】海思Hi3520A学习笔记

    /********************************************************************* * By                       : ...

  10. Oracle删除约束和主键的语句

    https://blog.csdn.net/xue_yanan/article/details/78210654?locationNum=8&fps=1