运行报告时,我需要将参数(变量)传递到报告模板中。我该怎么做呢?我正在使用 Java 版本的 Windward。
最佳答案
您可以通过将参数附加到每个数据源来传递参数。您可以为每个数据源设置一组不同的参数和值。
您可以通过创建包含参数的 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);
请注意,如果将多个数据源应用于模板,则变量会跨数据源传递。如果在第一个数据源中设置了变量,但在第二个数据源中未设置变量,则它将保留第一个数据源中的值。如果在第二个中设置,则会覆盖保存的值。
关于java - 如何将参数传递给 Windward Reports?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12133850/