проблема с разделением extjs в окне с 2 пунктами - PullRequest
0 голосов
/ 07 сентября 2011

У меня есть объект окна extjs, подобный этому:

win = new Ext.Window({
layout:'fit', 
title: '<spring:message code="title.alertDetails" />',
autoDestroy: true,
autoScroll: true,
width:600,
height:400,
closable:false,
plain: true,
items: [detailGrid,msgDetailsPanel],
buttons: [{
text: '<spring:message code="label.button.close" />',
handler: function(){
win.hide(this);
}
}]
});

Есть 2 элемента: detailGrid (GridPanel) и msgDetailsPanel (Ext.ux.ManagedIFrame.Panel).

Теперь, когда окно рендеринга, detailGrid занимает много вертикального пространства, даже если сетка имеет только 1 элемент, и мне нужно прокрутить вниз, чтобы увидеть msgDetailsPanel. Как я могу сделать так, чтобы эти 2 элемента автоматически настраивали размер в зависимости от их содержимого?

Ответы [ 3 ]

1 голос
/ 07 сентября 2011

Просто установите autoHeight : true для grid и ManagerIFramePanel и удалите свойство height обоих.Тогда grid и panel займут только столько места, сколько требуется их child items или grid rows.

1 голос
/ 07 сентября 2011

Я думаю, что лучший способ это:

  1. использовать границу layout для победы; center область для сетки и south для панели.
  2. установка панели height = win.height - grid.getStore().getCount() * 25 - 30;
  3. набор split = true для панели
0 голосов
/ 01 марта 2014

Причина на самом деле в том, что у вас есть макет: «fit» установлен на самом окне, которое должно поддерживать только один элемент, охватывающий всю высоту и ширину панели.Используйте макет: 'auto' или, возможно, 'vbox' / 'hbox'.

...