读书人

有人会extjs的吗?麻烦帮小弟我看一上

发布时间: 2012-08-10 12:19:33 作者: rapoo

有人会extjs的吗?麻烦帮我看一下
这是一个用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>


[解决办法]
树可以放在单独一个html中,

你这已经分了west和center 也就是用了border布局,

west中的items:[tree]可以直接是树 也可以是一个html

items:[
html:'<iframe src="\\..\\tree.html"></iframe>'
]
[解决办法]

HTML code
<!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> 

读书人网 >C#

热点推荐