2011-09-06 3 views
0

과 창에 문제를 간격 : detailGrid (GridPanel)와 msgDetailsPanel (Ext.ux.ManagedIFrame.Panel) :에 extjs는 내가 extjs라는 window 객체 같은이 두 항목

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 개 항목이 있습니다.

이제 창을 렌더링 할 때 그리드에 항목이 하나 뿐이고 msgDetailsPanel을 보려면 아래로 스크롤해야하는 경우에도 detailGrid가 많은 수직 공간을 차지합니다. 이 2 가지 항목을 내용에 따라 자동으로 조정하려면 어떻게해야합니까?

답변

1

에 대한 split = true을 설정합니다. 그런 다음 gridpanelchild items 또는 grid rows에 필요한만큼만 공간을 차지합니다.

1

내가 가장 좋은 방법은 생각 : 승리를 위해

  1. 사용 국경 layout; 그리드의 경우 center, 패널의 경우 south입니다.
  2. 설정 패널 height = win.height - grid.getStore().getCount() * 25 - 30;
  3. 은 간단하게 모두 grid에 대한 autoHeight : trueManagerIFramePanel를 설정하고 둘의 height 속성을 제거 패널
0

이유는 실제로 레이아웃 : 패널의 전체 높이와 너비에 걸쳐 단일 항목 만 지원하도록되어있는 창 자체에 '맞춤'이 설정되어 있기 때문입니다. 'auto'또는 'vbox'/ 'hbox'와 같은 레이아웃을 사용하십시오.