2013-09-12 4 views
0

У меня есть два вложенных контейнера, и я хочу установить вертикально (только вертикально) первый контейнер на размер страницы, а второй - на первый размер контейнера.ExtJS 4 контейнер с вертикальным расположением

В случае изменения размера страницы все контейнеры должны автоматически изменяться.

Я не могу выполнить эту функцию. Я думаю, что это проблема макета.

Это мой пример кода, и мой jsfiddle:

Ext.onReady(function() { 
myPanel = Ext.create('Ext.container.Container', { 
    layout:'fit', 
    flex:1, 
    width:100, 
    renderTo: Ext.getBody(), 
    items: [{ 
     xtype:'container', 
     layout : { 
       type : 'vbox', 
       align : 'stretch' 

      }, 
     items:[ 
    { 
        //this is the right panel not collapsible 
        xtype : 'panel', 
        border:true, 
        //hidden:false, 
        bodyBorder:true, 
        padding: '5 5 5 5', 

        itemId:'right', 

        //default layout of inner element is hbox 
        layout : { 
         type : 'hbox', 
         //align : 'stretch' 

        }, 

        //takes all possible space 
        flex : 1 
       }]} 


    ] 
}); 
}); 

http://jsfiddle.net/eternasparta/yxeSG/

спасибо всем!

+0

Не могли бы вы нарисовать картину того, что вы пытаетесь достичь или лучше объяснить? Я не совсем понимаю, что вы пытаетесь сделать. –

+0

был ниже ответ полезным? – dbrin

+0

Это не совсем то, что ожидалось, извините; или я должен лучше всего изменить мой пример (потому что у меня уже есть окно просмотра). – Marco

ответ

0

Просмотреть порт - это ключевой элемент, который контролирует размер браузера. http://jsfiddle.net/dbrin/6r7Dd/

var myPanel = Ext.create('Ext.panel.Panel', { 
    layout: 'fit', 
    width: 200, 
    title: 'Panel 1', 
    items: [{ 
     xtype: 'panel', 
     title: 'Panel 2', 
     layout: 'fit', 
     items: [{ 
      xtype: 'panel', 
      title: 'Right P', 
      padding: '5' 
     }] 
    }] 
}); 

Ext.create('Ext.container.Viewport', { 
    layout: { 
     type: 'hbox', 
     align: 'stretch' 
    }, 
    items: [myPanel] 
}); 
+0

Использование макета окна с одним элементом не имеет смысла, должно быть подходящим макетом. –

+0

Он хочет контролировать ширину, подойдет полная ширина. Я не совсем уверен, каким должен быть конечный результат. Я просто догадываюсь здесь. – dbrin

Смежные вопросы