Проблема с расположением ExtJS vbox, вложенным в hbox расположении

Я пытаюсь заставить расположение быть похожим на это: hbox with vbox right panel
(источник: yfrog.com)

У меня были все виды забавы, пытающейся получить эту работу. Я наконец получил что-то, что почти работает, но только потому, что я заглядывал 3,2 бетам Расширения JS.

Меня оставляют с одной заключительной проблемой. Код ниже отобразит панели почти правильно, однако, правая панель не простирается для заполнения правой руки половина контейнера.

Если я добавляю конфигурацию расположения (показанный в прокомментированном коде) и удаляю атрибут макета, то я заканчиваю со всеми тремя панелями, расположенными вертикально, а не двумя hbox панелями, расширяемыми для заполнения пространства и vbox панелей, являющихся друг выше друга.

Я был бы очень признателен за кого-то передающего глаз по коду ниже и указывающий, что я пропускаю или если я встретился с ошибкой в ExtJS 3.2b.

Спасибо

Stephen


    
        
        
        

        

        
    
    
        
Page URL
/contact/
Navigation Title
Get in touch...
Associate project to types
 
Associate projects related to other projects
 
Current Status
Live on 08/03/2010 23:23 by username
Workflow
Some status text
Last Updated
07/03/2010 10:10
Updated by
username*

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vitae neque risus, non elementum arcu. Donec et convallis ipsum. Vivamus nec viverra nunc.

9
задан Glorfindel 3 July 2019 в 10:04
поделиться

1 ответ

Итак, после указания Джея Гарсии я исправил это в считанные секунды.

Мне нужно было настроить мое окно просмотра на тип макета «fit»

vp = new Ext.Viewport({
    layout : 'fit',
    items : [overviewPanel] ,
    renderTo : Ext.getBody()
});

, затем мне нужно было добавить атрибут макета в vbox и hbox (ранее я обнаружил, что атрибут макета с атрибутом типа layoutConfig все испортил , поэтому удалил их)

            var extraPanel = {
                title : 'extra panel',
                layout : 'vbox',
                layoutConfig : {
                    type : 'vbox',
                    align : 'stretch',
                    pack : 'start'
                },
                defaults : {
                    flex : 1,
                    frame : true
                },
                items : [workflowPanel,accessPanel]
            };

            var overviewPanel = {
                layout : 'hbox',
                layoutConfig : {
                    type :'hbox',
                    align : 'stretch',
                    pack : 'start'
                },
                defaults :{
                    frame : true,
                    flex : 1
                },
                items : [detailPanel,extraPanel]
            };

Эти два изменения дали мне красивый макет, именно такой, каким я хотел его отображать.

Спасибо, Джей (PS, купите книгу Джея "ExtJS в действии";))

7
ответ дан 4 December 2019 в 22:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: