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

sending multiple selected values comma-separated to a stored procedure

我目前正在使用这个:

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

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

1,2,3

不幸的是,如果用户没有 select 任何值,这将不起作用。任何想法做什么。启动 BIRT 应该发送 NULL 而不是例如 1,2,3.

如何测试这个默认值表达式中的内容,比如:

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

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