【问题标题】:BIRT crosstab hiding of column and rows does not reflect when export to excel/pdf导出到 excel/pdf 时,BIRT 交叉表隐藏列和行不反映
【发布时间】:2013-12-20 03:25:50
【问题描述】:

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

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"); 
}

请指教。

【问题讨论】:

  • 你有所有报告的可见性选项你检查了吗?
  • 可见性是针对元素的。我也试过了,没有任何反应。

标签: report birt


【解决方案1】:

你有没有这样尝试过

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-28
    • 1970-01-01
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 2016-11-25
    相关资源
    最近更新 更多