将多个选定值以逗号分隔发送到存储过程

时间:2015-03-02 20:49:48

标签: birt actuate

我目前正在使用这个:

params["RPBla"].join(",")

作为(存储过程)数据集的默认参数。这样可以正常工作,并将报告参数RPBla中的一个或多个选定值发送到存储过程,例如:

1,2,3

不幸的是,如果用户没有选择任何值,这将不起作用。任何想法该怎么做。 Actuate BIRT应该发送NULL而不是例如1,2,3。

1 个答案:

答案 0 :(得分:1)

如何测试此默认值表达式中的内容,例如:

if (params["RPBla"].value==null){
   null;
}else{
   var list=params["RPBla"].join(",");
   list.length>0 ? list : null;
}

当然你可以返回任何你需要的东西,而不是" null"这里,例如返回一个特定的值,警告存储过程应该禁用过滤器。