0

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

4

1 回答 1

0

您通过将参数附加到每个数据源来传递参数。您可以为每个数据源设置一组不同的参数和值。

为此,您可以创建一个包含参数的 WindwardInterfaces.net.windward.api.csharp.KeyPairDictionary。键是带有变量名的字符串。该值可以是字符串、数字或日期时间。如果变量将用作选择中的参数,则值类型应与数据库列类型匹配。

这些是通过分配给 IReportDataSource.Map 属性在数据源中设置的。AdoDataSourceImpl 和 XmlDataSourceImpl 都实现了 IReportDataSource。

IReportDataSource datasource = new XmlDataSourceImpl("data.xml");
KeyPairDictionary map = new KeyPairDictionary();
map.Add("now", DateTime.Now);
datasource.Map = map;

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

于 2012-08-26T21:22:48.857 回答