2014-11-24 3 views
0

적절한 높이로 표시하기 위해 tabpanel 안에있는 gridpanel을 얻으려고합니다. 문제의 탭은 maincontentpanel3입니다. 지금은 너비가 100 %이지만 높이가 패널이 채워질 때까지 페이지 아래쪽을지나갑니다.GridPanel 안에 Gridpanel 자동 높이

자동 스크롤이 자동으로 설정되어 있어도 스크롤 막대가 나타나지 않습니다. GridPanel1에 높이를 지정하면 높이를 제외한 모든 것이 올바르게 작동합니다. 여기

<ext:Viewport runat="server" Layout="FitLayout"> 
    <Items> 
     <ext:Panel runat="server" ID="maincontentpanelwrapper" > 
      <Items> 
       <ext:TabPanel ID="maincontentpanel" runat="server" Layout="FitLayout"> 
        <Items> 
         <ext:Panel runat="server" ID="maincontentpanel1" > 
         </ext:Panel> 
         <ext:Panel runat="server" ID="maincontentpanel2" > 
         </ext:Panel> 
         <ext:Panel runat="server" ID="maincontentpanel3" > 
          <Items> 
           <ext:GridPanel ID="GridPanel1" AutoScroll="true" runat="server" > 
            <Store> 
             [REMOVED] 
            </Store> 
            <ColumnModel> 
             <Columns> 
              [REMOVED] 
             </Columns> 
            </ColumnModel> 
           </ext:GridPanel> 
          </Items> 
         </ext:Panel> 
        </Items> 
       </ext:TabPanel> 
      </Items> 
     </ext:Panel> 
    </Items> 
</ext:Viewport> 

가 오른쪽 하단 모서리에서 발생하지 않습니다 무엇의 이미지입니다 (더 스크롤 막대를 명확하게 넘쳐)

enter image description here

감사합니다 : 여기

는 벗었 코드 너의 도움으로!

+0

내가 테스트 케이스 세부 사항에서 문제를 조사 할 수 좋아 .hope

<ext:GridPanel ID="GridPanel1" AutoScroll="true" runat="server" Layout="FitLayout" Border="true" > 

그게 전부 아래에 주어진. –

답변

1

내가 할 수있는 방법을 알아낼 수있는 유일한 방법은 자바 스크립트를 사용하는 것입니다. 이것은 내가 생각해 낸 해결책입니다 :

initialload2(); 
function initialload2() { 
    if (Ext.getCmp("GridPanel1")) { 
     if (window.innerHeight != undefined) { 
      var height = window.innerHeight; 
     } 
     else { 
      //for ie 
      var B = document.body, 
      D = document.documentElement; 
      var height = Math.min(D.clientHeight, B.clientHeight); 
     } 
     Ext.getCmp("GridPanel1").setHeight(height - 62); 
    } else { 
     setTimeout(initialload2, 100); 
    } 
} 

var resizeTimer; 
window.onresize = function() { 
    clearTimeout(resizeTimer); 
    resizeTimer = setTimeout(initialload2, 100); 
}; 
0

이 스크립트는 markup.no를 사용하여 수정할 수 있습니다. javascript를 사용해야합니다. 나는 ext.net 2.0에서 테스트를했으며 이전 버전에서도 작동 할 수 있다고 생각한다.

원한다면 gridpanel과 border에 레이아웃 속성을 추가하기 만하면된다. 예제는 당신이 원하는 경우가