在《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 合在一起使用,可直接使用
向各位推荐一下用Coolite来部局,用后台数据库数据绑定到TreePanel上,当点不同的节点,在TabPanel上添加一个Tab。并显示要显示的网页。
可实现选中父节点,自动选中子节点,选中子节点,自动遍历选中父节点
TreePanel的checkbox节点操作及父子节点联动的演示DEMO
目的:Ext框架的开发中,最常用的有GridPanel控件,以及TreePanel控件。在使用表格的分页功能时,我们把该控件的start与limits参数与Hibernate的分页功能影射,从页实现了动态的分页效果;而TreePanel的更新也是一个...
ext.net
关于TreePanel的一些文档,有点杂,不过内容比较多
一个Coolite TreePanel TabPanel的网站后台框架示例 Coolite 是一个用C#封装了ExtJS的Ajax控件,后台效果的用户体验还是很不错的! 项部是一个图片,左边一棵树形,树形可以从后台配置,点击叶子结点时从Tabs页内依次打开...
TreePanel的checkbox节点操作及父子节点联动的演示DEMO,前面那个有Bug,选中子节点时,没能选择父节点。 这个版本修正了
NULL 博文链接:https://maoyi606.iteye.com/blog/1782825
完美的Extjs4 treePanel节点刷新,函数为自动刷新选中的节点.API看得头疼才别出来的代码.截止我发之前,好像没有谁共享这个功能的函数吧.
通过java 访问数据库而生成节点 子节点的 ID 与 父节点的关系为“父节点id_子节点id”此id为数据库中的id 同理“父节点id_子节点id_子子节点id”,因此加载树...再调用不能的sql 语句 因为每个节点的数据都不在一个表中
TreePanel继承自Panel,在ExtJS中使用树控件含有丰富的属性和方法实现复杂的功能。其中Ext.tree.TreeNode代表一个树节点,比较常用的属性包括text、id、icon、checked等、异步树Ext.tree.AsyncTreeNode、树加载器Ext...
通过数据库进行后台对treepanel的增删改查。供初学者参考学习。
9. ExtJs2.0学习系列(9)--Ext.TabPanel之第一式 10. ExtJs2.0学习系列(10)--Ext.TabPanel之第二式 11. ExtJs2.0学习系列(11)--Ext.XTemplate 12. ExtJs2.0学习系列(12)--Ext.TreePanel之第一式 13. ExtJs2.0学习系列...
NULL 博文链接:https://yjzagan2003.iteye.com/blog/1110742
获取Extjs中的TreePanel中所有的被checked的叶子节点的id