java - 如何将参数传递给 Windward Reports?

标签 java reporting windward

运行报告时,我需要将参数(变量)传递到报告模板中。我该怎么做呢?我正在使用 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/

相关文章:

java - 32 位和 64 位版本(其他依赖项)以及 Maven 中的构建生命周期

c# - 报告模板在 Visual Studio 2015 C# 中不可用

java - 在 BIRT 中将两列相乘

reporting-services - 在 IIF 表达式中将字符串转换为 DateTime

java - 如何在Jboss中使用连接池

java - 通用构造函数的用例是什么?

java - 制作不可编辑的游戏存档