繁体   English   中英

Birt报告参数允许多个值

[英]Birt report Parameter allow multiple value

我创建了一个参数类型列表框,我允许选择多个值。 我想在数据集中使用此参数。 我曾经在其他数据集中使用StoredProcdureName(?,?)作为SP的参数。 此过滤器的问题是,如果我选择一个或多个值,它会显示选择,但在传递给sp时,它只发送一个值。 我怎么处理这个?

您应该至少发布您的存储过程,以便我们可以看到如何使用此参数。 多值参数由BIRT作为java数组处理,这不是存储例程识别的数据类型。 这就是为什么你只得到第一个项目。

因此,假设此参数是“IN”子句中的SQL过滤器,我们需要将其作为逗号分隔的String传递给存储过程。

数据集参数声明为String,不要将其链接到报表参数,而是根据报表参数设置默认值表达式。 在此示例中,“myMultivalueParam”表示数据库中的数字字段:

params["myMultivalueParam"].value.join(",");

如果“myMultivalueParam”表示String,我们需要添加引号:

params["myMultivalueParam"].value.join("','");

然后在存储过程中使用此逗号分隔的字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM