Проблемы с Viewport
Всем привет.
Не очень понятно для меня работает вьюпорт. Если так написано, то все работает, все хорошо: Ext.onReady(function(){ ......... var mainviewport= new Ext.Viewport({ layout: 'border', items: [headpanel,maincont,footpanel] }); }); А если вот так, то выводится только основная панель: Ext.onReady(function(){ ......... var mainviewport= new Ext.Viewport({ layout: 'border', items: [maincont] }); mainviewport.add(headpanel); mainviewport.add(footpanel); mainviewport.doLayout(); }); В чем может быть причина? В какую сторону вообще копать? Что делаю неправильно? |
А какие-то ошибки пишет в консоли? в Firebug'е?
|
Нельзя изменить layout viewporta после того как он был отрендерен
Правильно будет делать это например таким образом: Ext.onReady(function(){ viewport = new Ext.Viewport({ autoshow:true, layout: 'border', defaults: { activeItem: 0, }, items: [ { region: 'west', split:true },{..},{..} ] }); west = viewport.getComponent(0); west.add(new Ext.DragPanel({ collapsible: true, title: 'Navigation', width: 200, } )); west.setWidth(200); west.doLayout(); viewport.syncSize(); }); |
Цитата:
|
Вы динамически добавляете регионы в viewport?
|
спасибо за ответ, я тоже кстати нашел этот код.
|
да, хочу динамически менять вид страницы без ее перезагрузки, просто меняя панели во вьюпорте
|
А можно просто задать все панели сразу, а потом не нужные делать не видимыми. С кнопками в меню это срабатывает.
Просто параметр hidden:true ставить. |
то есть будет много центральных панелей и только одна из них - видимая?
|
Тогда уж лучше сделать одну центральную панель с layout: 'card' и в ней менять другие панели.
|
Часовой пояс GMT +3, время: 15:55. |