2011-01-05 21 views
0

BIRTレポートは、データセット設定内のjdbcデータセットの最大行フェッチサイズを制限できます。 これは手動で入力した整数です。私は取得された行を制限するために、これをReportParameterからjdbcデータセットに動的に渡す方法を探しています。BIRT jdbcデータセット。動的最大行フェッチ

私はこれを行うことを好みます。 SQLで直接制限を設定すると、DBMS固有のもので、レポートをいくつかのDBMS(Oracle、MySQL、DB2、Sybaseなど)で実行したいので、beforeOpen()フックでJavaScriptを使用します。

答えて

2

beforeFactory()

reportContext.getReportRunnable().designHandle.getDesignHandle().findDataSet("Data Set").setRowFetchLimit(params["my_limit"].value); 

一般的に、beforeFactory()多くのものはreportContext.getReportRunnable().designHandle.getDesignHandle()から始まります。任意のレポート要素を見つけることができ、必要に応じてすべての要素をトラバースすることもできます。

find()要素の場合、ctrl + spaceヘルプにすべてのメソッドがリストされているわけではありません。 Eclipseヘルプが含まれています。BIRTプログラマー参照 - >リファレンス - > APIリファレンス - >レポートオブジェクトモデルAPIリファレンスクラスモジュールハンドルは始めるのに適しています。

レポートデザインハンドルにアクセスするための短いドットチェーンがあるかどうかはわかりません。もしそうなら、私を修正してください。

+0

+1は私のレポートでこれを理解して統合するためにしばらく時間がかかりました。完璧に動作します! –

+0

reportcontext.getDesignHandle()は上記の電車のようにうまくいくはずです – jinowolski

関連する問題