如何在Android版PDFReporter中使用列表组件(c:list)?
我使用iReport打印了JasperReports的pdf 然而,当我尝试使用PDFReporter为Android打印pdf时,它不起作用如何在Android版PDFReporter中使用列表组件(c:list)?,android,jasper-reports,pdf-generation,Android,Jasper Reports,Pdf Generation,我使用iReport打印了JasperReports的pdf 然而,当我尝试使用PDFReporter为Android打印pdf时,它不起作用 <componentElement> <reportElement x="215" y="30" width="110" height="50" uuid="2a10bb8c-3e40-4669-886a-22cdd9a11216"/> <c:list xmlns:c="htt
<componentElement>
<reportElement x="215" y="30" width="110" height="50" uuid="2a10bb8c-3e40-4669-886a-22cdd9a11216"/>
<c:list xmlns:c="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" printOrder="Vertical">
<datasetRun subDataset="Dataset1" uuid="c27c01dc-9026-40c5-8c8f-4b1090d99cf9">
<!--<><![CDATA[$P{REPORT_CONNECTION}]]></>-->
</datasetRun>
<c:listContents height="50" width="110">
<textField>
<reportElement x="43" y="17" width="100" height="30" uuid="a190eb91-8dfa-476e-afcb-3336ac79ac99"/>
<textFieldExpression><![CDATA[$F{Child_1_Name}]]></textFieldExpression>
</textField>
</c:listContents>
</c:list>
</componentElement>
之后,我尝试删除schemaLocation属性,但它引发另一个错误:
E/Digester: Begin event threw exception
org.oss.pdfreporter.exception.ConversionException: Cannot set Property width on Object org.oss.pdfreporter.components.list.DesignListContents@2525b0fd
at org.oss.pdfreporter.beans.BeanUtils.setProperty(BeanUtils.java:35)
at org.oss.pdfreporter.beans.BeanUtils.populate(BeanUtils.java:100)
at org.oss.pdfreporter.uses.org.apache.digester.SetPropertiesRule.begin(SetPropertiesRule.java:240)
at org.oss.pdfreporter.uses.org.apache.digester.AbstractRule.begin(AbstractRule.java:65)
at org.oss.pdfreporter.uses.org.apache.digester.impl.Digester.startElement(Digester.java:176)
at org.oss.pdfreporter.xml.parsers.wrapper.UnmarshallingContentHandler.startElement(UnmarshallingContentHandler.java:56)
at org.apache.harmony.xml.ExpatParser.startElement(ExpatParser.java:143)
at org.apache.harmony.xml.ExpatParser.appendBytes(Native Method)
at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:513)
at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:474)
at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:316)
at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:279)
at org.oss.pdfreporter.xml.parsers.XmlParser.parse(XmlParser.java:49)
at org.oss.pdfreporter.uses.org.apache.digester.impl.Digester.parse(Digester.java:373)
at org.oss.pdfreporter.uses.org.apache.digester.DelegatingAbstractDigester.parse(DelegatingAbstractDigester.java:84)
at org.oss.pdfreporter.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:241)
at org.oss.pdfreporter.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:228)
at org.oss.pdfreporter.engine.xml.JRXmlLoader.load(JRXmlLoader.java:215)
at org.oss.pdfreporter.PdfReporter.loadReport(PdfReporter.java:315)
at org.oss.pdfreporter.PdfReporter.exportSqlReport(PdfReporter.java:176)
at org.oss.pdfreporter.PdfReporter.exportPdf(PdfReporter.java:152)
at com.csc.ipos.pdfexporter.ReportExporter.exportUsingXMLDatasource(ReportExporter.java:88)
at com.csc.ipos.TestPDFExportActivity$3.run(TestPDFExportActivity.java:99)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.IllegalArgumentException: field org.oss.pdfreporter.components.list.DesignListContents.width has type java.lang.Integer, got java.lang.String
at java.lang.reflect.Field.set(Native Method)
at java.lang.reflect.Field.set(Field.java:557)
at org.oss.pdfreporter.beans.BeanUtils.setProperty(BeanUtils.java:33)
listcontent组件的height属性也会发生这种情况
注意:我在“jasperreports_extension.properties”中添加了下面的语句
你读过我的问题了吗?这正是针对Android的,关注c:list。除此之外,“子数据集1”在本例中并不重要。你用过PDFRporter吗?它不像JasperReport那样容易使用。PDFReporter不支持某些功能,例如(图表、条形码、表格…),但当我阅读PDFReporter的源代码时,我发现它可以使用“列表”,但我不知道如何使用它。@Petter Friberg我编辑了我的问题。我希望它更清楚。谢谢好得多,现在其他用户可以看到他们是否有相同的问题,我会看看我是否能找到可以帮助你的东西。尝试使用此定义
@Petter Friberg谢谢你的帮助,但它仍然显示相同的错误
E/Digester: Begin event threw exception
org.oss.pdfreporter.exception.ConversionException: Cannot set Property width on Object org.oss.pdfreporter.components.list.DesignListContents@2525b0fd
at org.oss.pdfreporter.beans.BeanUtils.setProperty(BeanUtils.java:35)
at org.oss.pdfreporter.beans.BeanUtils.populate(BeanUtils.java:100)
at org.oss.pdfreporter.uses.org.apache.digester.SetPropertiesRule.begin(SetPropertiesRule.java:240)
at org.oss.pdfreporter.uses.org.apache.digester.AbstractRule.begin(AbstractRule.java:65)
at org.oss.pdfreporter.uses.org.apache.digester.impl.Digester.startElement(Digester.java:176)
at org.oss.pdfreporter.xml.parsers.wrapper.UnmarshallingContentHandler.startElement(UnmarshallingContentHandler.java:56)
at org.apache.harmony.xml.ExpatParser.startElement(ExpatParser.java:143)
at org.apache.harmony.xml.ExpatParser.appendBytes(Native Method)
at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:513)
at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:474)
at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:316)
at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:279)
at org.oss.pdfreporter.xml.parsers.XmlParser.parse(XmlParser.java:49)
at org.oss.pdfreporter.uses.org.apache.digester.impl.Digester.parse(Digester.java:373)
at org.oss.pdfreporter.uses.org.apache.digester.DelegatingAbstractDigester.parse(DelegatingAbstractDigester.java:84)
at org.oss.pdfreporter.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:241)
at org.oss.pdfreporter.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:228)
at org.oss.pdfreporter.engine.xml.JRXmlLoader.load(JRXmlLoader.java:215)
at org.oss.pdfreporter.PdfReporter.loadReport(PdfReporter.java:315)
at org.oss.pdfreporter.PdfReporter.exportSqlReport(PdfReporter.java:176)
at org.oss.pdfreporter.PdfReporter.exportPdf(PdfReporter.java:152)
at com.csc.ipos.pdfexporter.ReportExporter.exportUsingXMLDatasource(ReportExporter.java:88)
at com.csc.ipos.TestPDFExportActivity$3.run(TestPDFExportActivity.java:99)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.IllegalArgumentException: field org.oss.pdfreporter.components.list.DesignListContents.width has type java.lang.Integer, got java.lang.String
at java.lang.reflect.Field.set(Native Method)
at java.lang.reflect.Field.set(Field.java:557)
at org.oss.pdfreporter.beans.BeanUtils.setProperty(BeanUtils.java:33)
net.sf.jasperreports.extension.registry.factory.components=org.oss.pdfreporter.components.ComponentsExtensionsRegistryFactory