1

レポートを実行するときに、パラメータ (変数) をレポート テンプレートに渡す必要があります。どうすればいいですか?Windward の Java バージョンを使用しています。

4

1 に答える 1

1

パラメータを各データソースにアタッチして渡します。データソースごとに異なるパラメーターと値のセットを設定できます。

これを行うには、パラメーターを含む java.util.Map を作成します。キーは、変数名を持つ文字列です。値は、文字列、数値、または日付にすることができます。変数が選択のパラメーターとして使用される場合、値の型はデータベースの列の型と一致する必要があります。

これらは、DataSourceProvider.setMap() を呼び出してデータソースに設定されます。Dom4jDataSource と JdbcDataSource は両方とも DataSourceProvider を実装します。

DataSourceProvider datasource = new JdbcDataSource("com.microsoft.sqlserver.jdbc.SQLServerDriver", "jdbc:sqlserver://localhost:1433;DatabaseName=Northwind", "username, "password");
Map map = new HashMap();
map.put("now", new Date());
datasource.setMap(map);

テンプレートに複数のデータソースが適用されている場合、変数はデータソース間で引き継がれることに注意してください。変数が最初のデータソースで設定され、2 番目のデータソースでは設定されていない場合、最初のデータソースの値が保持されます。2 番目に設定すると、保存された値が上書きされます。

于 2012-08-26T20:56:50.153 に答える