52,797
社区成员
发帖
与我相关
我的任务
分享
TabPage.prototype.AddTab = function (url, nodeText, nodeId) {
if (nodeId == undefined || nodeId == null)
nodeId = nodeText;
var WinIndex = window.parent.parent.window == undefined || window.parent.parent.window == null ? window.parent.window : window.parent.parent.window;
if (WinIndex == undefined || WinIndex == null) {
return;
}
var contentPanel = WinIndex.contentPanel;
try {
WinIndex.event.stopEvent();
} catch (e) {
}
try {
var n = contentPanel.getComponent(nodeId);
// if (n != undefined && n) { //判断是否已经打开该面板
// contentPanel.remove(nodeId);
// }
if (n == undefined || !n) {
n = contentPanel.add({
'id': nodeId,
'title': nodeText,
closable: true, //通过html载入目标页
html: '<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src=' + unescape(url) + '></iframe>'
});
}
contentPanel.setActiveTab(n); //激活Tab 页
//如何刷新Tab 页.????????????
} catch (e) {
}
}
//添加第一个节点(html)
menuTree.root.appendChild(new Ext.tree.TreeNode({
id: 'htmlPanel',
text: '通过html打开',
listeners: {
click: function (node, event) {
event.stopEvent();
var n = contentPanel.getComponent(node.id);
if (!n) { //判断是否已经打开该面板
n = contentPanel.add({
'id': node.id,
'title': node.text,
closable: true, //通过html载入目标页
html: '<iframe id ="if_'+node.id+'" scrolling="auto" frameborder="0" width="100%" height="100%" src="iframe.html"></iframe>'
});
}
contentPanel.setActiveTab(n);
}
}
}));
//左边功能树
var menuTree = new Ext.tree.TreePanel({
region: 'west',
title: '功能菜单',
width: 180,
minSize: 150,
maxSize: 200,
split: true,
autoScroll: true,
autoHeight: false,
collapsible: true,
rootVisable: false, //不显示根节点
root: new Ext.tree.TreeNode({
id: 'root',
text: '功能菜单',
draggable: false,
expanded: true
})
});
//添加第一个节点(html)
menuTree.root.appendChild(new Ext.tree.TreeNode({
id: 'htmlPanel',
text: '通过html打开',
listeners: {
click: function (node, event) {
event.stopEvent();
var n = contentPanel.getComponent(node.id);
var id = "if_" + node.id;
if (!n) { //判断是否已经打开该面板
n = contentPanel.add({
'id': node.id,
'title': node.text,
closable: true, //通过html载入目标页
html: '<iframe id ="' + id + '" scrolling="auto" frameborder="0" width="100%" height="100%" src="iframe.html"></iframe>'
});
}
contentPanel.setActiveTab(n);
}
}
}));
//添加第三个节点(function)
menuTree.root.appendChild(new Ext.tree.TreeNode({
id: 'htmlPanel2',
text: '通过html打开2',
listeners: {
click: function (node, event) {
event.stopEvent();
var n = contentPanel.getComponent(node.id);
var id = "if_" + node.id;
if (!n) { //判断是否已经打开该面板
n = contentPanel.add({
'id': node.id,
'title': node.text,
closable: true, //通过html载入目标页
html: '<iframe id ="' + id + '" scrolling="auto" frameborder="0" width="100%" height="100%" src="iframe2.html"></iframe>'
});
}
contentPanel.setActiveTab(n);
}
}
}));
//通过扩展来构建要创建的面板
fnPanel = Ext.extend(Ext.Panel, {
closable: true,
autoScroll: true,
layout: 'fit', //如果用函数来创建该面板的话,布局必须设置为fit,否则不会显示该面板中的内容
//创建面板内容
createFormPanel: function () {
return new Ext.form.FormPanel({
buttonAlign: 'center',
labelAlign: 'right',
frame: false,
bodyBorder: false,
bodyStyle: 'padding:25px',
items: [{
xtype: 'textfield',
fieldLabel: '用户名',
width: 350,
name: 'username'
}, {
xtype: 'textfield',
fieldLabel: '密 码',
width: 350,
name: 'password'
}],
buttons: [{ text: '登陆' }, { text: '取消'}]
});
},
//重装控件初始化函数,在该函数中完成面板中内容的初始化
initComponent: function () {
fnPanel.superclass.initComponent.call(this);
this.fp = this.createFormPanel();
this.add(this.fp);
}
});
//右边具体功能面板区
var contentPanel = new Ext.TabPanel({
region: 'center',
enableTabScroll: true,
activeTab: 0,
deferredRender: false,
listeners: {
activate: function (contentPanel) {
alert('ok'); //当我再点回这个页面时。该代码不被扫行.....
}
},
items: [{
id: 'homePage',
title: '首页',
autoScroll: true,
html: '<div style="position:absolute;color:#ff0000;top:40%;left:40%;">Tree控件和TabPanel控件结合功能演示</div>'
}]
});
Ext.onReady(function () {
new Ext.Viewport({
layout: 'border', //使用border布局
defaults: { activeItem: 0 },
items: [menuTree, contentPanel]
});
});