这是一个用extjs布局的js代码,主要是一个框架页面,想在左边显示一棵树,树的内容是从数据库动态读出来的,点击树的节点,在右边框架页里显示相应的内容。 先在框架页面通过下面的代码实现了,问题就是怎么把树显示在左边啊????我是做。net开发的
<script type="text/javascript">
var tabpanel;
var index = 0;
var currentItem;
function loadFrames() {
var westPanel = new Ext.Panel({
title: '菜单',
region: 'west',
split: false,
collapsible: true,
collapseMode: 'mini',
width: 200,
html: '<input type=\'button\' value=\'添加新标签页\' id=\'AddNewTab\' onclick=\'addTab(1,"Hello","hi");\'/>'
});
tabpanel = new Ext.TabPanel({
region: 'center',
activeTab: 0,
enableTablScroll: true,
listeners: {
"contextmenu": function(tdemo, myitem, e) { menu = new Ext.menu.Menu([
{ id: myitem.id + '-close', text: "关闭当前页", handler: function() { tdemo.remove(myitem); } },
{ id: myitem.id + '-close-others', text: "关闭其它页", handler: function() { tdemo.items.each(function(item) { if (item.closable && item != myitem) { tdemo.remove(item); } else { } }); } }]);
var ctxItem = item;
var items = menu.items; if (tdemo.items.length > 1) {
items.get(myitem.id + '-close').setDisabled(item.closable);
}
else {
items.get(myitem.id + '-close').setDisabled(!item.closable);
var disableOthers = true;
tdemo.items.each(function() {
if (this != item && this.closable) {
disableOthers = true;
return false;
}
});
items.get(myitem.id + '-close-others').setDisabled(disableOthers);
}
menu.showAt(e.getPoint());
}
},
items: [
{ id: '0', title: '百度一下,你就知道', html: '<iframe src="http://www.baidu.com" width="100%" height="100%" frameborder="0"></iframe>', closable: true },
{ id: '1', title: '迅雷', html: '<iframe src="http://www.xunlei.com" width="100%" height="100%" frameborder="0"></iframe>', closable: true },
{ id: '2', title: '腾讯网', html: '<iframe src="http://www.qq.com" width="100%" height="100%" frameborder="0"></iframe>', closable: true }
]
});
var southRegion = {
region: 'south',
xtype: 'panel',
split: false,
height: 30,
collapsible: true,
bbar: [new Ext.Toolbar.TextItem(' '), { xtype: "tbfill" }, new Ext.Toolbar.TextItem(''), { xtype: 'tbseparator' }, new Ext.Toolbar.TextItem(''), { pressed: false, text: '', iconCls: 'tabs'}]
}; var northRegion = {
region: 'north',
xtype: 'panel',
height: 60
}; var viewport = new Ext.Viewport({
renderTo: Ext.getBody(),
layout: 'border',
items: [westPanel, tabpanel, southRegion, northRegion]
});
} function addTab(id, titleName, url) {
tabpanel.add({
title: "" + titleName + "",
id: "" + titleName + "" + index,
html: "<iframe src='http://www.baidu.com' width=\"100%\" height=\"100%\" frameborder=\"0\"></iframe>",
closable: true
});
tabpanel.setActiveTab("" + titleName + "" + index);
index++;
}// Ext.Ajax.request({
//
// url: 'Test.aspx',
// params: {action: 'getDate' },
// method: 'GET',
// success: function(result, request) {
// Ext.MessageBox.alert('Success', 'Data return from the server: ' + result.responseText);
// },
// failure: function(result, request) {
// Ext.MessageBox.alert('Failed', 'Successfully posted form: ' + action.date);
// } });
loadFrames();
</script>
<script type="text/javascript">
var tabpanel;
var index = 0;
var currentItem;
function loadFrames() {
var westPanel = new Ext.Panel({
title: '菜单',
region: 'west',
split: false,
collapsible: true,
collapseMode: 'mini',
width: 200,
html: '<input type=\'button\' value=\'添加新标签页\' id=\'AddNewTab\' onclick=\'addTab(1,"Hello","hi");\'/>'
});
tabpanel = new Ext.TabPanel({
region: 'center',
activeTab: 0,
enableTablScroll: true,
listeners: {
"contextmenu": function(tdemo, myitem, e) { menu = new Ext.menu.Menu([
{ id: myitem.id + '-close', text: "关闭当前页", handler: function() { tdemo.remove(myitem); } },
{ id: myitem.id + '-close-others', text: "关闭其它页", handler: function() { tdemo.items.each(function(item) { if (item.closable && item != myitem) { tdemo.remove(item); } else { } }); } }]);
var ctxItem = item;
var items = menu.items; if (tdemo.items.length > 1) {
items.get(myitem.id + '-close').setDisabled(item.closable);
}
else {
items.get(myitem.id + '-close').setDisabled(!item.closable);
var disableOthers = true;
tdemo.items.each(function() {
if (this != item && this.closable) {
disableOthers = true;
return false;
}
});
items.get(myitem.id + '-close-others').setDisabled(disableOthers);
}
menu.showAt(e.getPoint());
}
},
items: [
{ id: '0', title: '百度一下,你就知道', html: '<iframe src="http://www.baidu.com" width="100%" height="100%" frameborder="0"></iframe>', closable: true },
{ id: '1', title: '迅雷', html: '<iframe src="http://www.xunlei.com" width="100%" height="100%" frameborder="0"></iframe>', closable: true },
{ id: '2', title: '腾讯网', html: '<iframe src="http://www.qq.com" width="100%" height="100%" frameborder="0"></iframe>', closable: true }
]
});
var southRegion = {
region: 'south',
xtype: 'panel',
split: false,
height: 30,
collapsible: true,
bbar: [new Ext.Toolbar.TextItem(' '), { xtype: "tbfill" }, new Ext.Toolbar.TextItem(''), { xtype: 'tbseparator' }, new Ext.Toolbar.TextItem(''), { pressed: false, text: '', iconCls: 'tabs'}]
}; var northRegion = {
region: 'north',
xtype: 'panel',
height: 60
}; var viewport = new Ext.Viewport({
renderTo: Ext.getBody(),
layout: 'border',
items: [westPanel, tabpanel, southRegion, northRegion]
});
} function addTab(id, titleName, url) {
tabpanel.add({
title: "" + titleName + "",
id: "" + titleName + "" + index,
html: "<iframe src='http://www.baidu.com' width=\"100%\" height=\"100%\" frameborder=\"0\"></iframe>",
closable: true
});
tabpanel.setActiveTab("" + titleName + "" + index);
index++;
}// Ext.Ajax.request({
//
// url: 'Test.aspx',
// params: {action: 'getDate' },
// method: 'GET',
// success: function(result, request) {
// Ext.MessageBox.alert('Success', 'Data return from the server: ' + result.responseText);
// },
// failure: function(result, request) {
// Ext.MessageBox.alert('Failed', 'Successfully posted form: ' + action.date);
// } });
loadFrames();
</script>
html:'<iframe src="\\..\\tree.html"></iframe>'
]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head> <body>
<body>
<table border="1" width="100%">
<tr>
<td style="width: 20%">
<div id="tree">
</div>
</td>
<td style="width: 80%">
<iframe width="100%" marginheight="2" marginwidth="2" height="960" frameborder="1"
id="frMain" name="frMain" src=""></iframe>
</td>
</tr>
</table>
<script type="text/javascript">
Ext.onReady(function () {
var treeLoader = new Ext.tree.TreeLoader({
dataUrl: '/Handler/TreeHandler.ashx',
listeners: {
scope: this,
'beforeload': function (loader, node) { }
}
}); var treeRoot = new Ext.tree.AsyncTreeNode({
id: "-1",
text: "测试",
nodeType: 'async'
}); var eTree = new Ext.tree.TreePanel({
autoScroll: true,
containerScroll: true,
border: false,
height: 960,
region: 'center',
margins: '3 0 20 0',
root: treeRoot,
loader: treeLoader,
renderTo: 'tree',
listeners: {
scope: this,
'click': function (node, e) {
}
}
});
treeRoot.expand(false, true);
});
</script>
</body>
</body>
</html>