0

我想根据某些条件隐藏两个交叉表列。我已经能够通过使用来实现它

 function onPrepareCell( cell, reportContext )
 if(some condition){
    if( cell.getCellID() == cell#){
    cell.getStyle().setDisplay("none");
    }
  }

在交叉表的 onPrepare 事件中。它在 PDF、HTML 格式中运行良好,但当格式为 Excel 时,列不会被隐藏。我需要尽快完成这项工作,请帮忙

4

2 回答 2

1

我从 BIRT exchange 得到了答案,我在这里发布答案,以便对其他人有所帮助

在交叉表的 onPrepare() 事件中,您可以编写如下代码

函数onPrepareCrosstab(交叉表,reportContext){
如果(某些条件){reportContext.getDesignHandle().getElementByID(ElementId#).setStringProperty("width","0px"); }

}

这里 ElementId# 是您要隐藏的单元格的 Id#。如您所见,我们还可以使用它来动态更改单元格的宽度。

于 2012-10-15T05:55:19.143 回答
0

在 OnCreateCell 事件中尝试您的代码。

于 2012-10-09T23:33:25.883 回答