2012-03-14 1 views
0

enter image description hereExtJS 3.2: Скрыть центральную панель на мачте "border"

Hello! В моем проекте у меня есть окно, структура которого описана на картинке. По некоторым причинам, унаследованным от предыдущих версий проекта, мне нужно создать функцию, которая скроет части окна (панели). Если я скрою панель C2 - все в порядке, работает точно так, как я хотел, но если я скрою панель C1, которая имеет область: «центр», другая панель не занимает область C1. Это похоже на ошибку.

Я знаю, что я делаю что-то неправильно, но мне все еще нужен какой-то хак, чтобы скрыть центральные панели.

Я попытался переназначить регион: «центр» на другую панель, но это не сработало.

test case

+0

Можете ли вы опубликовать код, в котором вы пытаетесь скрыть панель c1? –

+0

http://pastehtml.com/view/brbconfbr.html, щелкните правой кнопкой мыши -> просмотреть источники. c1.hide(); c1.parent.doLayout() - консоль firebug. – TheHorse

+0

Вы правы, когда говорите, что вам нужно изменить область панелей. Тот, который будет скрыт, всегда должен быть чем-то другим, чем «центром». Попробуйте изменить область, прежде чем скрывать элемент. –

ответ

1

ExtJS не позволяет снять центральную панель макета границы. Однако вы можете добавлять и удалять элементы с центральной панели.

+0

спасибо, но это не то, что я ищу – TheHorse

0

Проблема с кодом является то, что вы указываете фиксированную ширину для панели c2:

var c1 = new Ext.Panel({ 
    region: "center", 
});     

var c2 = new Ext.Panel({ 
    region: "east", 
    width: 400, 
    split: true 
}); 

И что делает вашу c1 панель заблудиться, когда скрывается из-за своей собственности региона.

Когда вы работаете с областью, вы обычно не устанавливаете фиксированную ширину. Это собирается решить вашу проблему:

var c1 = new Ext.Panel({ 
    region: "center", 
});     

var c2 = new Ext.Panel({ 
    region: "east", 
    width: "100%", 
    split: true 
}); 

Теперь вы можете попробовать либо c1.hide(); или c2.hide() и компоненты поведения, как ожидалось.

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