在Birt中按报表参数显示/隐藏交叉表

时间:2017-05-11 06:15:59

标签: eclipse birt crosstab

我在报告中制作了不同的交叉表。我想只显示一个由报表参数选择的交叉表。其他人应该隐藏。

有任何解决方案吗?

2 个答案:

答案 0 :(得分:1)

  1. 您应该选择交叉表
  2. 在属性中,选择“可见性”
  3. 检查'隐藏元素'
  4. 然后进入表达式
  5. 输入您的报告参数。例如,如果report参数不是“test”,则隐藏交叉表。为此,您将在函数表达式中输入'parameterName!='test''。
  6. enter image description here

    清楚吗?

答案 1 :(得分:0)

谢谢Fanny,但我通过在beforeFactory()方法中编写此代码解决了这个问题。

    var oTab = reportContext.getReportRunnable().designHandle.getDesignHandle().findElement("PeriodTab");
    var cTab = reportContext.getReportRunnable().designHandle.getDesignHandle().findElement("WeekTab");
    var pTab = reportContext.getReportRunnable().designHandle.getDesignHandle().findElement("MonthTab");

    if (params["cmbPeriodType"].value == "PeriodTab") {
        oTab.drop();
        pTab.drop();
    }
    else if (params["cmbPeriodType"].value == "WeekTab") {
        pTab.drop();
        cTab.drop();
    }

    else {
        oTab.drop();
        cTab.drop();
    }