导出到excel / pdf时,BIRT交叉表隐藏列和行不会反映出来

时间:2013-12-20 03:25:50

标签: report birt

我有一年的行维度和行维度的模型名称。我需要显示所有月份和模型名称,无论该月份是否使用了型号名称。为了实现这一点,我在我的数据集中做了outerjoin。我能够完成此任务,生成的报告中有一个额外的空白列和空行。我也可以使用以下代码删除它:

if(cellInst.getDataValue("MONTHYEAR") == ""){
    cellInst.getStyle().setDisplay("none");
}
if(cellInst.getDataValue("MODELDESCRIPTION") == ""){
    cellInst.getStyle().setDisplay("none");
}

因此,删除了额外的空白列和空白行。但是,当我尝试导出到Excel时,空白列和空行仍然显示。当我导出为pdf时,只显示空白列。

我甚至在onRender()中尝试了这个,但没有任何反应

if(cellInst.getDataValue("MONTHYEAR") == ""){
    reportContext.getDesignHandle().getElementByID(cellInst.getCellID()).setStringProperty("width","0px"); 
}
if(cellInst.getDataValue("MODELDESCRIPTION") == ""){
    reportContext.getDesignHandle().getElementByID(cellInst.getCellID()).setStringProperty("height","0px"); 
}

请告知。

1 个答案:

答案 0 :(得分:0)

你有没有试过这个

if(reportContext.getOutputFormat()=="xls"){
this.action = null;
}
if(reportContext.getOutputFormat()=="pdf")
this.action = null;
}