Birt参数和数据集

时间:2011-06-27 21:41:51

标签: parameters dataset birt

我想使用参数显示报告,具体取决于用户选择的参数。它应显示特定的数据集。那可能吗?

这就是为什么我需要显示不同的 DATASETS ,具体取决于参数中选择的值:

我有一份报告,如果可能的话我需要将其整合到一个报告中。此报告具有开始和结束日期的参数,但现在也希望具有服务参数。例如,我需要一份报告来向我显示与服务A相关的客户,可用的服务是:A,B,C,D,E这就是为什么我使用服务作为参数,但是同一报告取决于它是什么服务,更改和需要不仅显示客户,还显示与服务相关的员工。

即。
报告1:显示与服务A相关的客户 报告2:显示与服务B相关的客户 报告 3 :显示与服务C相关的客户和员工 报告4:显示与服务D
相关的客户 报告 5 :显示与服务E相关的客户和员工

1 个答案:

答案 0 :(得分:1)

如果在运行期间必须交换数据集:

  1. 名称报告项目绑定到 Property Editor 视图中的一个数据集,即myTable
  2. beforeFactory 脚本中分配相应的数据集:

    var myTable = reportContext.getDesignHandle().findElement('myTable');
    myTable.setProperty('dataSet', 'myChoosenDataSet');
    
  3. 另一种更简单的方法:如果它足够,您可以在不需要时隐藏数据项。在 Property Editor 视图中设置可见性条件,以隐藏项目。

    另一种方法:在数据集 beforeOpen 脚本中调整sql查询:

    if (params['service'].value == 'foo') {
        this.queryText = "select * from foo where foo.bar = ?";
    }