Olá pessoal!
Infelizmente, essa semana me deparei com um relatorio que possuia colunas e linhas dinamicas, ou seja, a qtidade de colunas e de linhas do relatorio variava.
Assim, pesquisando na internet, achei um geito de fazer o relatorio.
Esse geito seria usando o “crosstab tool”.
Crosstab tool é um componente que controla linhas e colunas dinamicamente
Olhando alguns exemplos, como:
http://jasperreports.sourceforge.net/samples/ShipmentsReport.pdf
Eu consegui fazer o relatorio, porem na hora de gera-o ocorre o seguinte erro:
[jrc] org.xml.sax.SAXParseException: Element type “crosstab” must be declared.
[jrc] at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
[jrc] at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
[jrc] at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
[jrc] at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
[jrc] at org.apache.xerces.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source)
[jrc] at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
[jrc] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
[jrc] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
[jrc] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
[jrc] at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
[jrc] at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
[jrc] at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
[jrc] at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
[jrc] at org.apache.commons.digester.Digester.parse(Digester.java:1567)
[jrc] at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:400)
[jrc] at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:384)
[jrc] at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:338)
[jrc] at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:322)
[jrc] at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:151)
[jrc] at net.sf.jasperreports.ant.JRAntCompileTask.compile(JRAntCompileTask.java:449)
[jrc] at net.sf.jasperreports.ant.JRAntCompileTask.execute(JRAntCompileTask.java:291)
[jrc] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:269)
[jrc] at org.apache.tools.ant.Task.perform(Task.java:364)
[jrc] at org.apache.tools.ant.Target.execute(Target.java:301)
[jrc] at org.apache.tools.ant.Target.performTasks(Target.java:328)
[jrc] at org.apache.tools.ant.Project.executeTarget(Project.java:1215)
[jrc] at org.apache.tools.ant.Project.executeTargets(Project.java:1063)
[jrc] at org.apache.tools.ant.Main.runBuild(Main.java:632)
[jrc] at org.apache.tools.ant.Main.startAnt(Main.java:183)
[jrc] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:197)
[jrc] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:56)
[jrc]
[jrc] NESTED BY :
[jrc] net.sf.jasperreports.engine.JRException: Element type “crosstab” must be declared.
[jrc] at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:404)
[jrc] at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:384)
[jrc] at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:338)
[jrc] at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:322)
[jrc] at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:151)
[jrc] at net.sf.jasperreports.ant.JRAntCompileTask.compile(JRAntCompileTask.java:449)
[jrc] at net.sf.jasperreports.ant.JRAntCompileTask.execute(JRAntCompileTask.java:291)
[jrc] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:269)
[jrc] at org.apache.tools.ant.Task.perform(Task.java:364)
[jrc] at org.apache.tools.ant.Target.execute(Target.java:301)
[jrc] at org.apache.tools.ant.Target.performTasks(Target.java:328)
[jrc] at org.apache.tools.ant.Project.executeTarget(Project.java:1215)
[jrc] at org.apache.tools.ant.Project.executeTargets(Project.java:1063)
[jrc] at org.apache.tools.ant.Main.runBuild(Main.java:632)
[jrc] at org.apache.tools.ant.Main.startAnt(Main.java:183)
[jrc] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:197)
[jrc] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:56)
[jrc] Caused by: org.xml.sax.SAXParseException: Element type “crosstab” must be declared.
[jrc] at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
[jrc] at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
[jrc] at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
[jrc] at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
[jrc] at org.apache.xerces.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source)
[jrc] at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
[jrc] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
[jrc] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
[jrc] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
[jrc] at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
[jrc] at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
[jrc] at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
[jrc] at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
[jrc] at org.apache.commons.digester.Digester.parse(Digester.java:1567)
[jrc] at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:400)
[jrc] … 16 more
Nao sei pq esta aparecendo esse erro ja que gerei o relatorio do mesmo geito q eu gerei os outros(que funcionavam perfeitamente)
Procurei ajuda no google, + parece que ninguem usa Crosstab! =O
Entao minha duvida é a seguinte:
Alguem ja usou crosstab e sabe como resolver esse erro?
ou entao,
Alguem sabe como eu poderia ter colunas dinamicas no relatorio sem ser usando CrossTab?
Obrigado,
Fernando