论坛首页 AJAX版 EXT

ext2.0中,如何嵌套布局?1.0中用的是Ext.NestedLayoutPanel

浏览 1430 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2007-12-17 关键字: ext2.0 嵌套布局

我想做的版面布局是这样的:在布局的“center”面板分成几个tab标签,有“首页”“收发费标准管理”等,然后在每个tab中再嵌套一个layout有“west”和"center"两个面板。

我只知道ext1.x中嵌套layout布局是用的Ext.NestedLayoutPanel,代码如下:现在想换成ext2.0,现在是用的Ext.TabPanel创建center面板中的tab,不知如何再嵌套一层layout在每个tab中?

js 代码
  1. ......      
  2. var innerLayout1 = new Ext.BorderLayout('inner1', {      
  3.     west: {      
  4.         split:false,       
  5.     initialSize:170,       
  6.         titlebar: true,       
  7.         collapsible:true,       
  8.         collapsed:false     
  9.     },      
  10.     center: {      
  11.         autoScroll:true     
  12.     }      
  13. });      
  14. innerLayout1.add('south', new Ext.ContentPanel('footer1', { fitToFrame:true }));      
  15. innerLayout1.add('west', new Ext.ContentPanel('nav1', { fitToFrame:true, title:'收费系统菜单' }));      
  16. innerLayout1.add('center', new Ext.ContentPanel('center1', { fitToFrame:true, resizeEl:'content-iframe1' }));      
  17. layout.add('center', new Ext.NestedLayoutPanel(innerLayout1, { title:'收发费标准管理' }));      
  18. ......    

 

代码如下:

js 代码
  1. ......   
  2. var Mycenter = new Ext.TabPanel({   
  3.     region:'center',   
  4.     border:false,   
  5.     deferredRender:false,   
  6.     activeTab:0,   
  7.     items:[    
  8.     {   
  9.         contentEl:'content0',   
  10.         listeners:{activate:function(tab){tab.getUpdater().update('content_00.html')}},   
  11.         title:'首页',   
  12.         autoLoad:{url:'content_00.html', scripts:true},   
  13.         autoScroll:true  
  14.     },{   
  15.         contentEl:'content1',   
  16.         listeners:{activate:function(tab){tab.getUpdater().update('content_01.html')}},   
  17.         autoLoad:'content_01.html',   
  18.         title:'收发费标准管理',   
  19.         autoScroll:true  
  20.     }]   
  21.     ......   
  22. });   
  23. ......  
   
最后更新时间:2007-12-17
我按照你的要求,做了一个布局效果,看看能否解决你的问题。

解开附件,拷贝文件到 ext2.0 examples\layout 目录中,即可看到效果。

其他布局例子:
http://code.google.com/p/seamextsample/downloads/list
   
0 请登录后投票
最后更新时间:2007-12-17
记住在ext2.0里:
1、Panel/TabPanel/Viewport就是1.x中的Layout
2、如果想在Panel/TabPanel/Viewport里划分东南西北中,设置layout:'border'
3、把被放置在东南西北中的组件设置region:'east'/'south'/'west'/'north'/'center',然后丢到Panel/TabPanel/Viewport的items属性里
4、抛弃在html里设置<div id='..">的做法,根本不需要
5、使用Ext.Viewport做为主框架,Ext.Viewport只能有一个
6、不需要render(),因为组件放置于其容器组件中后,会自动render
7、组件没有render之前,不能在其上使用dhtml/xmldom语句,在render事件处理中使用dhtml/xmldom语句

如此方可随心所欲地玩转ext布局

var west = new Ext.tree.TreePanel({
region:'west',
...
});

var northOfCenter = new Ext.Toolbar({
region:'north',
...
});

var westOfCenter = new Ext.Panel({
region:'west',
...
});

var center = new Ext.Panel({
region:'center',
layout:'border',
autoScroll:false,
items:[northOfCenter,westOfCenter],
...
});

var viewport = new Ext.Viewport({
        layout:'border',
        items:[
            west,
            center
         ]
    });
   
0 请登录后投票
最后更新时间:2007-12-17
多谢taelons的指点,你这么一说,我的思路就清晰了,
当然,也很感谢fangzhouxing,你给的例子让我有“例”可循,不过你的例子有些高深,我是初学者,所以有些还看不懂,呵呵,我会慢慢来消化的
   
0 请登录后投票
论坛首页 AJAX版 EXT

跳转论坛:
JavaEye推荐