2017-01-04 69 views
6

BIRTData tablesを使用してレポートを作成しました。すべてが期待どおりに動作しています。ただし、heightwidthBIRT viewerです。動的ではありません。それらは静的であり、したがってスクロールが適用されます。だからheightwidthBIRT viewerというように動的にするコードを書いた。コンテンツに基づいて動的にBIRTビューアの高さと幅を設定する

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); 
    } 

BIRT code is:

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

     </birt:viewer> 

BIRTビューアの高さと幅に注意してくださいそれぞれ700px1136pxです。上のコードはheightwidthを動的にしていません。
BIRTの高さと幅を動的にするにはどうしたらいいですか?私は明確な理解のために絵を追加しました。 BIRT
画像のように、縦スクロールが追加されています。それを防止し、テーブルの高さに基づいてBIRTの高さを上げる方法は?

答えて

1

レポートから書き込んだ機能を起動できましたか?私はそうは思わない。ビューアをビルドしてレポートを実行するコードを見てみましょう。

レポートをビルドして読み込んだ後に、javascript関数をトリガして、ウィンドウの内容に合わせてウィンドウのサイズを変更できます。 詳細情報:http://www.eclipse.org/birt/documentation/integrating/viewer-usage.php

なぜこのように必要なのかわかりません。フルスクリーンのウィンドウを開くのはずっと簡単ですか?

0

高さと幅をパーセンテージ(%)で指定することをお勧めします。

また、ウィンドウの高さと幅を計算し、外側のdivにも同じ値を使用します。

内側のdivは高さと幅100%を使用するため、内側のdivは外側のdivに固定され、スクロールは画面に表示されません。

希望すると、これが役立ちます。ありがとうございました

関連する問題