2017-01-04 1 views
6

BIRTData tables을 사용하여 보고서를 작성했습니다. 모든 것이 예상대로 작동합니다. 그러나 heightwidthBIRT viewer 인 것은 동적이지 않습니다. 그것들은 정적이어서 스크롤이 적용됩니다. 그래서 heightwidthBIRT viewer 인 코드를 작성했습니다.내용에 따라 동적으로 BIRT 뷰어의 높이와 너비를 설정하십시오.

<birt:viewer id="birtViewer" reportDesign="/sampleReport.rptdesign" 
      pattern="run" height="700" width="1136" scrolling="none" 
      showParameterPage="false" isHostPage="false"> 

     </birt:viewer> 

BIRT 뷰어의 높이와 폭을 유의하시기 바랍니다

BIRT code is:

function resizeFrame(e,f){ 
     var x = document.getElementsByTagName("iframe"); 

     var winW = 1112, winH = 486; 
     if (document.body && document.body.offsetWidth) { 
      winW = document.body.offsetWidth; 
      winH = document.body.offsetHeight; 
     } 
     if (document.compatMode=='CSS1Compat' && document.documentElement && document.documentElement.offsetWidth) { 
      winW = document.documentElement.offsetWidth; 
      winH = document.documentElement.offsetHeight; 
     } 
     if (window.innerWidth && window.innerHeight) { 
      winW = window.innerWidth; 
      winH = window.innerHeight; 
     } 

     x[0].style.width = winW + "px"; 
     x[0].style.height = winH + "px"; 

     console.log(f,e); 
    } 
은 각각 700px1136px 있습니다. 위의 코드는 heightwidth을 동적으로 만들지 않습니다.
BIRT 높이와 너비를 어떻게 동적으로 만들 수 있습니까? 명확한 이해를 위해 그림을 추가했습니다. BIRT
그림에서 알 수 있듯이 세로 스크롤이 추가됩니다. 그것을 방지하고 BIRT의 높이를 테이블 높이에 따라 증가시키는 방법은 무엇입니까?

답변

1

보고서에서 작성한 함수를 트리거 할 수 있습니까? 나는 그렇게 생각하지 않는다. 뷰어를 '빌드'하고 보고서를 실행하는 코드를 살펴 보겠습니다.

보고서를 작성하고로드 한 후에는 javascript 함수를 트리거하여 해당 내용에 맞게 창 크기를 조정할 수 있습니다. 자세한 정보는 여기를 참조하십시오 : http://www.eclipse.org/birt/documentation/integrating/viewer-usage.php

왜 필요한지 잘 모르십니까? 전체 화면 창을 여는 것이 훨씬 쉽지 않습니까?

0

높이와 너비를 백분율 (%)로 사용하는 것이 좋습니다.

또한 창 높이와 너비를 계산하고 외부 div에도 똑같이 사용하십시오.

내부 div는 높이와 너비를 100 %로 사용하므로 내부 div는 외부 div에서 고정되고 스크롤은 화면에 표시되지 않습니다.

희망이 도움이 될 것입니다. 감사합니다.

관련 문제