【问题标题】:Birt parameter and datasetBirt参数和数据集
【发布时间】:2011-06-27 21:41:50
【问题描述】:

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

这就是为什么我需要根据参数中选择的值显示不同的 DATASETS

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


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

【问题讨论】:

    标签: parameters dataset birt


    【解决方案1】:

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

    1. 将绑定到属性编辑器视图中的数据集之一的报告项命名为myTable
    2. beforeFactory 脚本中分配适当的数据集:

      var myTable = reportContext.getDesignHandle().findElement('myTable');
      myTable.setProperty('dataSet', 'myChoosenDataSet');
      

    另一种更简单的方法:如果足够,您可以在不需要时隐藏数据项。在 Property Editor 视图中放置 visibility 条件,以便隐藏项目。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多