【问题标题】:How do I pass parameters to Windward Reports?如何将参数传递给 Windward Reports?
【发布时间】:2012-08-26 20:56:50
【问题描述】:

我需要在运行报表时将参数(变量)传递给我的报表模板。我该怎么做呢?我正在使用 Java 版本的 Windward。

【问题讨论】:

  • 你为什么要问一个你立即回答自己的问题?
  • @maba 点击时请看一下表格。提出和回答问题是一种选择。对于这种情况,我们将发布有关使用 Windward 进行编程的最常见问题(和答案),以便人们可以在此处立即获得答案。
  • 好的。我怀疑类似的事情。我不是故意听起来粗鲁之类的。
  • @maba - 没问题。第一次看到它肯定看起来很奇怪。

标签: java reporting windward


【解决方案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);

请注意,如果将多个数据源应用于模板,则变量将跨数据源进行传输。如果在第一个数据源中设置了一个变量,而在第二个数据源中没有设置,它将保留第一个数据源的值。如果设置在第二个,那将覆盖保存的值。

【讨论】:

    猜你喜欢
    • 2014-02-22
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 1970-01-01
    • 2020-10-09
    • 2012-12-21
    • 2012-01-07
    • 2014-05-03
    相关资源
    最近更新 更多