在 Birt 中按报表参数显示/隐藏交叉表
Display / Hide Crosstabs by Report Parameters in Birt
我在一份报告中制作了不同的交叉表。我只想显示一个由报告参数选择的交叉表。其他应该隐藏。
有什么解决办法吗?
- 你应该select你的十字架table
- 在属性中,select 'visibility'
- 勾选 'hide element'
- 然后进入表达式
- 输入您的报告参数。例如,如果报表参数不是 'test',则隐藏交叉表。为此,您将在函数表达式中输入“parameterName != 'test'”。
清楚了吗?
谢谢 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();
}
我在一份报告中制作了不同的交叉表。我只想显示一个由报告参数选择的交叉表。其他应该隐藏。
有什么解决办法吗?
- 你应该select你的十字架table
- 在属性中,select 'visibility'
- 勾选 'hide element'
- 然后进入表达式
- 输入您的报告参数。例如,如果报表参数不是 'test',则隐藏交叉表。为此,您将在函数表达式中输入“parameterName != 'test'”。
清楚了吗?
谢谢 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();
}