0
我已经写了一些老版本Jasper的自定义出口商,但版本6中的变化引发了我的循环。我已经到了拥有JasperPrint对象的地步,可以遍历报表元素,但是我没有在报表设计中设置的属性可用。由于多年来Jasper发生了巨大变化,寻找示例并没有什么帮助。贾斯珀报告定制出口商阅读属性
具体而言,我想完成的是编写一个自定义导出器,该导出器读取JRXML中各个元素上设置的属性并根据这些属性采取操作。我不确定需要采取哪些步骤才能使JRXML中的属性可用于定制导出器。
从我JRXML甲剪断:
<staticText>
<reportElement uuid="35d904d5-317f-4ea6-9d93-e50e5fc613b9" x="2" y="0" width="100" height="20">
<property name="svg.t.data.ch" value="v"/>
</reportElement>
<textElement/>
<text><![CDATA[Customer Name]]></text>
</staticText>
和简化的但功能的代码:
public class CustomExporter extends JRAbstractExporter<ReportExportConfiguration, ExporterConfiguration, ExporterOutput, JRExporterContext>{
...
@Override
public void exportReport() throws JRException {
JRPropertiesMap props = null;
List<ExporterInputItem> items = exporterInput.getItems();
for(ExporterInputItem item : items){
jasperPrint = item.getJasperPrint();
for(JRPrintPage page : jasperPrint.getPages()){
for(JRPrintElement ele : page.getElements()){
switch(ele.getOrigin().getBandTypeValue()){
case COLUMN_HEADER:
case GROUP_HEADER:
case DETAIL:
props = ele.getPropertiesMap();
break;
default:
break;
}
}
}
}
}
的JRPropertiesMap道具总是空。
我希望能够访问我在代码中的JRXML中设置的属性。 –
我想答案是我不知道我在问什么。我需要做的是在JRXML中为各个元素设置属性,并在我的自定义导出器中使用它们以执行特定的操作。我将编辑该问题。 –