Jump to content
Changes to the Jaspersoft community edition download ×

Crosstab and printWhenExpression


Recommended Posts

By: nsorochan - nsorochan

Crosstab and printWhenExpression

2006-01-10 15:49

I have a crosstab and only want to print it on certain instances. I tried adding a printWhenExpression element to the reportElement, but the compile fails. It passes the check from the dtd. jasper reports 1.1.1

 

Here is how I am using the tag:

 

<crosstab isRepeatColumnHeaders="false">

<reportElement x="0" y="20" width="812" height="60" mode="Opaque">

<printWhenExpression><![CDATA[new Boolean(true)]]></printWhenExpression>

</reportElement>

...

 

Here is the stack trace

 

[jrc] File : C:projectshrorg3rdpartyjasperreports-1.1.1demosamplescrosstabsShipmentsRe

port.jrxml ... FAILED.

[jrc] Error compiling report design : C:projectshrorg3rdpartyjasperreports-1.1.1demosamp

lescrosstabsShipmentsReport.jrxml

[jrc] net.sf.jasperreports.engine.JRRuntimeException: Expression ID not found.

[jrc] at net.sf.jasperreports.engine.base.JRBaseObjectFactory.getExpression(JRBaseObjectFa

ctory.java:363)

[jrc] at net.sf.jasperreports.engine.base.JRBaseElement.<init>(JRBaseElement.java:127)

[jrc] at net.sf.jasperreports.crosstabs.base.JRBaseCrosstab.<init>(JRBaseCrosstab.java:79)

 

[jrc] at net.sf.jasperreports.engine.base.JRBaseObjectFactory.getCrosstab(JRBaseObjectFact

ory.java:1196)

[jrc] at net.sf.jasperreports.crosstabs.design.JRDesignCrosstab.getCopy(JRDesignCrosstab.j

ava:209)

[jrc] at net.sf.jasperreports.engine.base.JRBaseElementGroup.<init>(JRBaseElementGroup.jav

a:88)

[jrc] at net.sf.jasperreports.engine.base.JRBaseBand.<init>(JRBaseBand.java:68)

[jrc] at net.sf.jasperreports.engine.base.JRBaseObjectFactory.getBand(JRBaseObjectFactory.

java:427)

[jrc] at net.sf.jasperreports.engine.base.JRBaseReport.<init>(JRBaseReport.java:217)

[jrc] at net.sf.jasperreports.engine.JasperReport.<init>(JasperReport.java:86)

[jrc] at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCom

piler.java:214)

[jrc] at net.sf.jasperreports.engine.design.JRDefaultCompiler.compileReport(JRDefaultCompi

ler.java:131)

[jrc] at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompil

eManager.java:127)

[jrc] at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompil

eManager.java:109)

[jrc] at net.sf.jasperreports.ant.JRAntCompileTask.compile(JRAntCompileTask.java:398)

[jrc] at net.sf.jasperreports.ant.JRAntCompileTask.execute(JRAntCompileTask.java:252)

[jrc] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)

[jrc] at org.apache.tools.ant.Task.perform(Task.java:364)

[jrc] at org.apache.tools.ant.Target.execute(Target.java:341)

[jrc] at org.apache.tools.ant.Target.performTasks(Target.java:369)

[jrc] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)

[jrc] at org.apache.tools.ant.Project.executeTarget(Project.java:1185)

[jrc] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:4

0)

[jrc] at org.apache.tools.ant.Project.executeTargets(Project.java:1068)

[jrc] at org.apache.tools.ant.Main.runBuild(Main.java:668)

[jrc] at org.apache.tools.ant.Main.startAnt(Main.java:187)

[jrc] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)

[jrc] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)

[jrc]

[jrc] NESTED BY :

[jrc] net.sf.jasperreports.engine.JRException: Error compiling report design.

[jrc] at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCom

piler.java:231)

[jrc] at net.sf.jasperreports.engine.design.JRDefaultCompiler.compileReport(JRDefaultCompi

ler.java:131)

[jrc] at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompil

eManager.java:127)

[jrc] at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompil

eManager.java:109)

[jrc] at net.sf.jasperreports.ant.JRAntCompileTask.compile(JRAntCompileTask.java:398)

[jrc] at net.sf.jasperreports.ant.JRAntCompileTask.execute(JRAntCompileTask.java:252)

[jrc] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)

[jrc] at org.apache.tools.ant.Task.perform(Task.java:364)

[jrc] at org.apache.tools.ant.Target.execute(Target.java:341)

[jrc] at org.apache.tools.ant.Target.performTasks(Target.java:369)

[jrc] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)

[jrc] at org.apache.tools.ant.Project.executeTarget(Project.java:1185)

[jrc] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:4

0)

[jrc] at org.apache.tools.ant.Project.executeTargets(Project.java:1068)

[jrc] at org.apache.tools.ant.Main.runBuild(Main.java:668)

[jrc] at org.apache.tools.ant.Main.startAnt(Main.java:187)

[jrc] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)

[jrc] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)

[jrc] Caused by: net.sf.jasperreports.engine.JRRuntimeException: Expression ID not found.

[jrc] at net.sf.jasperreports.engine.base.JRBaseObjectFactory.getExpression(JRBaseObjectFa

ctory.java:363)

[jrc] at net.sf.jasperreports.engine.base.JRBaseElement.<init>(JRBaseElement.java:127)

[jrc] at net.sf.jasperreports.crosstabs.base.JRBaseCrosstab.<init>(JRBaseCrosstab.java:79)

 

[jrc] at net.sf.jasperreports.engine.base.JRBaseObjectFactory.getCrosstab(JRBaseObjectFact

ory.java:1196)

[jrc] at net.sf.jasperreports.crosstabs.design.JRDesignCrosstab.getCopy(JRDesignCrosstab.j

ava:209)

[jrc] at net.sf.jasperreports.engine.base.JRBaseElementGroup.<init>(JRBaseElementGroup.jav

a:88)

[jrc] at net.sf.jasperreports.engine.base.JRBaseBand.<init>(JRBaseBand.java:68)

[jrc] at net.sf.jasperreports.engine.base.JRBaseObjectFactory.getBand(JRBaseObjectFactory.

java:427)

[jrc] at net.sf.jasperreports.engine.base.JRBaseReport.<init>(JRBaseReport.java:217)

[jrc] at net.sf.jasperreports.engine.JasperReport.<init>(JasperReport.java:86)

[jrc] at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCom

piler.java:214)

[jrc] ... 17 more

 

 

 

By: Lucian Chirita - lucianc

RE: Crosstab and printWhenExpression

2006-01-11 00:13

That's a bug. Here is the fix: go to net.sf.jasperreports.engine.JRExpressionCollector, find this method:

public void collect(JRCrosstab crosstab)

and add this line at the beginning:

collectElement(crosstab);

 

The fix is also available on CVS.

 

Regards,

Lucian

 

 

By: nsorochan - nsorochan

RE: Crosstab and printWhenExpression

2006-01-11 11:10

thanx, that seems to work. It compiles now.

Link to comment
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...