将以逗号分隔的多个选定值发送到存储过程
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一个特定的值警告存储过程过滤器应该被禁用。
我目前正在使用这个:
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一个特定的值警告存储过程过滤器应该被禁用。