【问题标题】:sending multiple selected values comma-separated to a stored procedure将多个以逗号分隔的选定值发送到存储过程
【发布时间】:2015-03-02 20:49:47
【问题描述】:

我目前正在使用这个:

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

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

1,2,3

很遗憾,如果用户没有选择任何值,这将不起作用。任何想法做什么。启动 BIRT 应该发送 NULL 而不是例如 1,2,3。

【问题讨论】:

    标签: birt actuate


    【解决方案1】:

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

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

    当然,您可以在此处返回所需的任何内容而不是“null”,例如返回一个特定值,警告存储过程应该禁用过滤器。

    【讨论】:

    • 帮助不大。当没有选择任何内容时,预期的行为是什么?显示所有值,什么都不显示或特定的默认值? Which value is expected by this stored procedure when the selection is empty?正如您提到的“BIRT 应该发送 NULL”,我认为在存储过程中考虑了 null,但似乎我误解了。
    • BIRT 崩溃它甚至没有发出 sql 命令(跟踪它)!
    猜你喜欢
    • 2013-07-27
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多