java.lang.ClassCastException: org.eclipse.birt.report.model.api.Expression cannot be cast to java.lang.String
at org.eclipse.birt.report.model.util.BoundColumnsMgr.dealAction(BoundColumnsMgr.java:604)
at org.eclipse.birt.report.model.util.BoundColumnsMgr.dealLabel(BoundColumnsMgr.java:568)
at org.eclipse.birt.report.model.writer.BoundColumnsWriterMgr.dealLabel(BoundColumnsWriterMgr.java:479)
at org.eclipse.birt.report.model.util.BoundColumnsMgr.dealNonDataContainerReportItem(BoundColumnsMgr.java:165)
at org.eclipse.birt.report.model.util.BoundColumnsMgr.dealTable(BoundColumnsMgr.java:460)
at org.eclipse.birt.report.model.writer.BoundColumnsWriterMgr.dealTable(BoundColumnsWriterMgr.java:535)
at org.eclipse.birt.report.model.writer.ModuleWriter.visitTable(ModuleWriter.java:2084)
at org.eclipse.birt.report.model.elements.TableItem.apply(TableItem.java:91)
at org.eclipse.birt.report.model.writer.ModuleWriter.writeChildren(ModuleWriter.java:2869)
at org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2854)
at org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2888)
at org.eclipse.birt.report.model.writer.DesignWriterImpl.writeSlot(DesignWriterImpl.java:170)
at org.eclipse.birt.report.model.writer.DesignWriterImpl.visitReportDesign(DesignWriterImpl.java:78)
at org.eclipse.birt.report.model.elements.ReportDesign.apply(ReportDesign.java:65)
at org.eclipse.birt.report.model.writer.ModuleWriter.writeFile(ModuleWriter.java:315)
at org.eclipse.birt.report.model.writer.ModuleWriter.write(ModuleWriter.java:281)
at org.eclipse.birt.report.model.api.ModuleHandle.save(ModuleHandle.java:1423)
at org.eclipse.birt.report.model.api.ModuleHandle.saveAs(ModuleHandle.java:1443)
at com.huawei.nte.report.view.TestAAAReport.buildReport(TestAAAReport.java:379)
at com.huawei.nte.report.view.TestAAAReport.main(TestAAAReport.java:53)
解决方案:
void addHyperLink(LabelHandle labelHandle)
{
try {
Action action = StructureFactory.createAction();
ActionHandle actionHandle = labelHandle.setAction(action);
// actionHandle.setURI("'http://www.iteye.com'");
// actionHandle.setLinkType(DesignChoiceConstants.ACTION_LINK_TYPE_HYPERLINK);
actionHandle.setDrillThroughReportName("E:\\birt_space\\OrdersAfter\\OrdersAfter.rptdesign");
actionHandle.setLinkType(DesignChoiceConstants.ACTION_LINK_TYPE_DRILL_THROUGH);
} catch (Exception e) {
// TODO: handle exception
}
}