0

私はgrailsを初めて使用します.pdfまたはその他の形式でレポートを生成する必要があります.pdf形式で出力を取得するために動的ジャスパープラグインを使用しました.例を使用してレポートを生成しましたhttp://www.grails.org /plugin/dynamic-jasper .

しかし、その例では、データベースにあるすべての値を示すレポートです。そのため、レポートにすべての値を含める必要はありません。代わりに、レポートを制限する必要があります。つまり、(いくつかの SQL クエリによって) 値を検索すると、リスト内の検索された値の ao/p が取得されます。検索値リストのレポートが必要なので、この問題を解決する方法を教えてください

4

1 に答える 1

0

dataSource プロパティを使用する必要があるようです。

dataSource: これは、渡されたセッションとパラメーターを取得するクロージャーです。ここでは、データを取得するためのより複雑なクエリが必要な場合 (つまり、リクエスト パラメーターまたはセッションでログインしているユーザーに基づく場合)、または単にサービスやフィルター プラグインなどの他のプラグインと統合する場合にフックします。

dataSource クロージャーの内部は、レポートに表示される内容を制限するためにロジックが移動する場所です (それを使用している場合、SQL クエリはここに移動します)。リンクの「名前付きレポート」セクションで salesByStateReport まで下にスクロールすると、例が表示されます。

dataSource = { session, params ->
        Sale.findAll('from Sale as s where s.branch.state = ? order by branch.name', [params.state])
    }

エンティティ形式を使用している場合は、静的なレポート可能マップで「dataSource = 」を「dataSource:」に変更するだけです。

これは、エンティティ形式を使用して、次のように URL から呼び出されます。

http://localhost:8080/yourAppName/djReport/?entity=yourModelClass&state=yourStateValue

または、名前形式で次のようにします。

http://localhost:8080/yourAppName/djReport/?report=レポート名&state=yourStateValue

于 2012-03-06T16:53:44.257 に答える