格式为excel时隐藏BIRT中的交叉表列

时间:2012-10-08 11:56:40

标签: birt

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

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

在交叉表的onPrepare事件中。它在PDF,HTML格式下工作正常但是当格式为Excel时,列不会被隐藏。我需要尽快完成这项工作,请帮助

2 个答案:

答案 0 :(得分:1)

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

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

function onPrepareCrosstab(crosstab,reportContext) {
    if(某些条件){         。reportContext.getDesignHandle()的getElementById(ElementId#)setStringProperty( “宽度”, “0像素”)。     }

}

此处ElementId#是您要隐藏的单元格的ID#。如您所见,我们也可以使用它来动态地改变单元格的宽度。

答案 1 :(得分:0)

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