问题描述:
页面中有三个FORM表单,FORMa,FORMb,FORMc,如果用viewport,可以直接将三个嵌进来,FORMa的region设成north,FORMb的设成center,FORMc的设成south。
但是,这样有一点,就是FORMb因为是center布局,高度就会自适应,导致很难看。所以我的解决方法是将FORMb和FORMc单独放在一个panel里,再将FORMb设成panel中的north,FORMc设成panel中的center。这样就相当于FORMc是自适应了。
效果如下:
这样很OK,但点击浏览器右上角的“还原”按钮,缩小去看,发现会出现小问题。
截图如下:
鼠标往右拉,会出现问题(红色框内):
感觉像是渲染了可视画面,但没有渲染到根结点。
贴上代码:
var aForm = new Ext.FormPanel({
region : 'north',
//其它略
});
var bForm = new Ext.FormPanel({
region : 'north',
//其它略
});
var cForm = new Ext.FormPanel({
region : 'center',
//其它略
});
//布局如下:
var cpanel = new Ext.Panel({
region : 'center',
bodyStyle : 'border:none;',
frame : true,
autoScroll : true,
items: [bForm ,cForm ]
});
// 总体布局
var viewport = new Ext.Viewport({
layout : 'border',
items : [ aForm,cpanel]
});
以上是布局代码,一开始不知道哪里出了问题,后来查阅了资料,发现在cpnacel中加layout属性,就可以了。
更改如下:(注意第6行)
//布局如下:
var cpanel = new Ext.Panel({
region : 'center',
bodyStyle : 'border:none;',
frame : true,
layout : 'border',
autoScroll : true,
items: [bForm ,cForm ]
});
layout属性要是没有定义,默认应该为layout:fit,文档解释如下:
Ext.layout.container.Fit是布局的基础类,对应面板配置项的名称为Fit,Fit布局将使唯一的子元素充满容器,如果当前容器中存在多个子面板则只有第一个会显示。
所以在缩小的时候,cpanel也跟着缩小了,往右拉的时候,就会出现cpanel变小的情况。
layout:border,解释如下:
Ext.layout.container.Border 这种布局方式称为边界布局,它将页面分隔成为:west,east,south,north,center这五个部分,我们在items里面使用region参数为它组织定义具体的位置。
而我这里定义的cpanel显然是一种border布局。
分享到:
相关推荐
其中,`Panel`是EXTJS中最基础也是最常用的一个UI组件之一。它主要用于封装其他组件,并提供布局、边框等管理功能。 #### 二、EXTJS Panel 基础用法 在本示例中,我们通过一段简单的HTML代码及JavaScript脚本创建...
Accordion布局是ExtJS中的一个布局管理器,它允许在一个区域内组织多个面板(Panels),每个面板可以展开或折叠,且同一时间只能有一个展开。这种布局常用于空间有限但需要展示大量分类信息的情况,因为它能有效利用...
在Extjs中,**面板(Panel)**扮演着极其重要的角色,它不仅作为其他组件的容器,而且还是实现页面布局的关键手段之一。面板类似于Delphi、VisualBasic或JavaSwing中的面板概念,提供了丰富的布局选项和高度灵活的...
文档"extjs_页面布局.doc"详细介绍了EXTJS中的10种布局类,这些布局类帮助开发者有效地管理组件在容器内的排列和展示。 1. **ContainerLayout**:这是所有布局类的基础,不具有可视化的外观,主要负责容器的逻辑...
extjsDemo2 form panel 一个extjs的demo。1、描绘了表格的属性;2、一个简单的页面布局。供参考。
在使用Extjs开发Web应用程序时,经常会遇到组件边框处理的问题,特别是当多个组件嵌套在一起时,可能会出现双重边框的情况,这在视觉上可能并不理想。本文以标题"Extjs,解决双重边框问题"和描述为例,探讨如何在...
例如,`Ext.Panel`是ExtJs中常用的一个组件,用于创建可嵌套的容器,你可以在这里找到其构造函数、配置选项、方法和事件的详细描述。 “Javascript API”则涵盖了JavaScript语言本身与ExtJs结合使用的相关知识。这...
在EXTJS4中,ComboBox是一个常用的组件,它用于创建下拉选择框,通常用于输入框的辅助选择。这个组件提供了一种用户友好的方式来从一组预定义的选项中进行选择。然而,根据你的标题和描述,你似乎遇到了一个特别的...
2. **布局管理**:EXTJS 3.0提供了多种布局模式,如Fit布局、Border布局、Table布局等,用于灵活地控制组件在容器中的排列和大小。 3. **数据绑定**:EXTJS的数据绑定功能允许组件与数据源进行实时同步,数据变化时...
1. **组件系统**:ExtJS 4.1基于组件化设计,理解组件的生命周期、配置、事件处理和嵌套关系是基础。 2. **布局管理**:如Box、Table、Fit、Form等布局方式,以及如何调整组件大小和位置。 3. **数据绑定**:观察...
1. **组件系统**:ExtJS的组件化开发是其一大亮点,包括窗口(Window)、面板(Panel)、表格(Grid)、表单(Form)、按钮(Button)等,它们都可以独立使用或嵌套组合,极大地提高了开发效率。 2. **数据绑定**:...
在示例中,可能会展示如何创建Panel,设置标题、调整大小和布局,以及嵌套其他组件。 4. **树的使用**:ExtJS的树形组件(Tree)用于展示层次结构的数据,常见于目录结构或组织结构的展示。树形组件支持节点的展开...
在"开始ExtJs梦想之旅"的第二讲中,你将具体学习如何使用ExtJS创建第一个应用,从创建基本的窗口(Window)和面板(Panel),到添加控件并实现简单的交互。这一过程中,你将实践如何编写JavaScript代码来实例化组件...
4. **Trees and Panels**: 树形视图常用于展示层次结构数据,而Panel则是一个可自定义的容器,可以嵌套其他组件,用于构建复杂布局。 5. **Sliders and Progress Bars**: 滑块和进度条用于提供用户输入和反馈,常...
EXTJS中的浮动组件(Floating Components)是一类特殊的组件,它们使用CSS绝对定位,脱离文档流,不参与容器布局。例如,Window组件默认就是浮动的,而任何组件都可以通过设置floating属性变为浮动组件。浮动组件常...
1. **组件模型(Component Model)**:ExtJS 3.0基于组件化的思想,提供了丰富的UI组件,如表格(Grid)、面板(Panel)、窗口(Window)、菜单(Menu)等,这些组件可以相互嵌套,构建出复杂的用户界面。...
2. **布局(Layouts)**:EXTJS提供了多种布局方式,如Fit、Border、Form、Table等,允许用户根据需要调整组件的排列和大小。 3. **数据绑定(Data Binding)**:EXTJS的数据绑定允许视图和数据模型之间的自动同步...
官方文档是学习任何技术不可或缺的资源,《深入浅出EXTJS(第二版)》虽然已经涵盖了大部分知识点,但遇到具体问题时还是建议查阅最新文档或加入开发者社区进行交流讨论,这样可以获得更准确及时的帮助和支持。...