2

私はBIRTで最初のレポートを作成しています。

すぐに、2つの異なるテーブル(結合できる/結合する必要のあるテーブルではない)からのデータを含む式に基づいてテキストまたはデータを表示したいという問題に遭遇しました-(仮想的に例-学生のACTスコアを彼の記録から取得します学生テーブルで、ACT統計の統計テーブルのエントリと比較します。データ要素をデータセットにバインドする必要があることにすぐに気付きました(そのうちの1つのみ)。

BIRTメーリングリストで同様の質問を見つけました。これは解決策を見つけるのに役立ちました。個々のデータ要素を別のデータセットにバインドできますが、それでもコンテナの要素にアクセスできます。要素がバインドされているデータセットにパラメーターを送信できます(たとえば、上記の例では「ACT」)。

しかし、最終的には、3つの異なるテーブルのデータを使用する必要がある場所に到達しました。私はここで立ち往生しており、スクリプト機能を介してこれを行う方法があると思いますが、データセットからデータを抽出する方法をドキュメントでまだ確認していません-これまでに扱ってきたすべてのものはレポート要素をデータセットにバインドすることに関連付けられています。

明確にするために、トップレベルレポートの初期化セクションにJavaScript関数を追加できる(そしてデータ要素の式から呼び出す)ことができることはわかりましたが、スクリプトでどのようにクエリを実行できるかわかりませんデータセット-データ要素にバインドされたデータセットとのみ対話するのではなく)。

BIRTのJavaScriptから任意の(すでに定義されている)データセットにアクセスするにはどうすればよいですか?(または、要素から3つ以上のデータセットにアクセスするにはどうすればよいですか?1つはバインドされており、もう1つはコンテナーがバインドされています)

4

2 に答える 2

2

私はしばらくこれをやろうとはしていません。すぐに思いつく答えは、3 番目のデータ セットをテーブルに配置する必要があり (可視性を false に設定できます)、テーブルの値を GlobalValue に入力する必要があるということです。次に、スクリプトを介してデータ コントロールから GlobalValues を取得できます。

私はそれが美しくないことを知っています。週末に様子を見て、これを簡単にする機能が 2.3 に追加されているかどうかを確認します。

于 2008-09-26T20:35:42.567 に答える
1

使用

this.getValue()
代わりに現在の列のバインディング値を返します
dataSetRow["RUN"]

于 2011-02-04T15:49:35.400 に答える