在《Ext中TreePanel控件和TabPanel控件搭配测试》一文中提到,点击TreePanel控件中一个树节点,在右边TabPanel控件中打开新的页面有三种方法(暂且我知道的),而上次例子中第二种和第三种方法进一步测试又有一些改进。
第二种方法中,例子中右边打开的文件是一个Window,而如果换成其他的控件,如FormPanel,也不显示出来,所以auto.php中的代码修改如下:
<?php header('Content-Type:text/html;charset=utf-8'); ?>
<script type="text/javascript">
new Ext.form.FormPanel({
renderTo:'fp_div', //依附于指定DIV上面,这样才会显示该FormPanel
buttonAlign:'center',
labelAlign:'right',
labelWidth:36,
frame:false,
border:false,
items:[{
xtype:'textfield',
fieldLabel:'姓名',
width:350
},{
xtype:'textfield',
fieldLabel:'性别',
width:350
}],
buttons:[{text:'确定'}, {text:'取消'}]
});
</script>
<div id="fp_div" style="position:absolute;top:30%;left:30%;width:422px;"></div>
主要是添加了renderTo属性和添加了一个div层,这样会让新增加的FormPanel显示出来。
第三种方法中,我提到必须是'fit'布局,会来经网友提醒,也可以不是'fit'布局,可以通过show().doLayout()显示出来,具体代码如下:
menuTree.root.appendChild(new Ext.tree.TreeNode({
id:'functionPanel',
text:'通过函数打开',
listeners:{
'click':function(node, event) {
event.stopEvent();
var n = contentPanel.getComponent(node.id);
if (!n) {
var p = new fnPanel();
p.id = node.id;
p.title = node.text;
n = contentPanel.add(p);
n.show().doLayout(); //关键地方,重新刷新布局
}
contentPanel.setActiveTab(n);
}
}
}));
//通过扩展来构建要创建的面板
fnPanel = Ext.extend(Ext.Panel, {
closable:true,
autoScroll:true,
//创建面板内容
createFormPanel:function() {
return new Ext.form.FormPanel({
buttonAlign:'center',
labelAlign:'right',
labelWidth:36,
frame:false,
border:false,
//指定为绝对定位,可以让控件布局随意确定位置
style:'position:absolute;top:30%;left:30%;width:422px;',
items:[{
xtype:'textfield',
fieldLabel:'姓名',
width:350
},{
xtype:'textfield',
fieldLabel:'性别',
width:350
}],
buttons:[{text:'确定'}, {text:'取消'}]
});
},
//重装控件初始化函数,在该函数中完成面板中内容的初始化
initComponent:function() {
fnPanel.superclass.initComponent.call(this);
this.fp = this.createFormPanel();
this.add(this.fp);
}
});
分享到:
相关推荐
在本文中,我们将深入探讨`TreePanel`和`TabPanel`这两个重要的Ext JS组件,并讨论如何将它们结合在一起,以创建功能丰富的用户界面。`TreePanel`用于展示层次结构的数据,而`TabPanel`则提供了多标签页的功能,两者...
描述中提到"EXT的所有控件以及控件的用法及代码",这暗示了压缩包内可能包含每个EXT控件的演示、文档和源代码,帮助开发者理解和学习EXT控件的完整功能和实现方式。EXT控件包括但不限于以下几种: 1. GridPanel:...
资源包中的"extdemo"可能包含了这些示例的源代码和运行脚本,通过查看和运行这些代码,你可以更直观地学习EXTJS的用法,加深对EXTJS组件和API的理解。记得结合EXTJS的官方文档和社区资源,以便更深入地探索EXTJS的...
BoxComponent是Ext中的基本布局容器,可以用来控制子元素的位置和大小。通过调整BoxComponent的配置选项,开发者可以实现灵活的布局设计。 ##### 2. **Button(按钮组件)** Button组件是Web应用中最常见的交互...
- EXT2引入了许多新组件,如TreePanel、Viewport等,进一步增强了其功能性和灵活性。 通过以上介绍,我们不难发现,EXT不仅仅是一个简单的JavaScript库,而是一个功能强大、设计完善的前端开发框架。无论是对于...
- **功能描述**:Component 是所有 Ext 组件的基础类,它定义了所有 Ext 组件都共有的基本属性和方法。 - **主要用途**:作为所有其他组件的基类。 **1.5 Container (Ext.Container)** - **xtype**: `container` -...
3. 控件使用方法:EXT.NET框架提供了多种控件,如GridPanel(表格)、FormPanel(表单)、TabPanel(选项卡)、Window(弹出窗口)、TreePanel(树形视图)等。每个控件都有丰富的配置项和事件处理方法,通过这些...
**Ext.tree.TreePanel** - **描述**: 树型面板,用于展示层次结构的数据。 - **用途**: 文件系统、目录结构的可视化表示。 **Ext.FlashComponent** - **描述**: 用于显示Flash内容的组件(尽管现在已很少使用)。 -...
3. 导航和布局:TabPanel允许在一个容器中创建多个选项卡,每个选项卡可以包含不同的组件。AccordionLayout和BoxLayout等布局管理器则帮助调整组件的大小和位置,以适应不同屏幕尺寸和设备。 4. 菜单和工具栏:Menu...
- **表单及元素组件**:Editor、EditorGridPanel、GridPanel、PagingToolbar、Panel、ProgressBar、SplitButton、TabPanel、TreePanel和Window等。 6. **组件的使用**: 创建组件时,需要指定其配置参数,如尺寸...
5.1.6 Ext.TabPanel 5.2 信息提示框组件 5.2.1 Ext.MessageBox简介 5.2.2 Ext.MessageBox.alert() 5.2.3 Ext.MessageBox.confirm() 5.2.4 Ext.MessageBox.prompt() 5.2.5 Ext.MessageBox.wait() ...
1. 基本控件:Box、Button、ColorPalette、Component、Container、CycleButton、DataView、DatePicker、Editor、EditorGridPanel、Grid、PagingToolbar、Panel、ProgressBar、SplitButton、TabPanel、TreePanel、...
4. **Ext.form.FormPanel** 和 表单控件: - FormPanel是用于创建表单的组件,可以设置`frame`(是否有边框)、`layout`(布局方式)、`defaults`(组件默认属性)等。例如,`layout:'column'`表示列布局,`...
这个压缩包的核心内容是演示如何在ASP.NET环境中使用ExtAspNet控件,帮助开发者快速理解和应用这个强大的前端框架。 ExtAspNet是一个专门针对ASP.NET开发的JavaScript组件库,它基于Ext JS(一个广泛使用的开源...
5.1.6 Ext.TabPanel 5.2 信息提示框组件 5.2.1 Ext.MessageBox简介 5.2.2 Ext.MessageBox.alert() 5.2.3 Ext.MessageBox.confirm() 5.2.4 Ext.MessageBox.prompt() 5.2.5 Ext.MessageBox.wait() ...
- **简单易用**:TabPanel控件的使用非常简单,用户可以通过简单的配置快速地在界面上添加和管理标签页。 - **功能强大**:尽管简单,TabPanel提供了多种属性和方法来定制丰富的应用,例如可以设置选项卡的样式、...