Jump to content
We've recently updated our Privacy Statement, available here ×

I try to use jasper field as an argument of a method which call using scriptlet inside the expression


KavinduAkash

Recommended Posts

I have a scriptlet named MainX_SCRIPTLET. Via this scriptlet able to call divider(String l1, String l2) method. Also, I have 2 fields named tDTO and kDTO, I want to set values of these fields into l1 and l2 parameters of the divider method. And I try to write an expression for the list element as follows using the scriptlet, then I have to face an error. Need a solution?

Expression >>

new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{MainX_SCRIPTLET}.divider($F{tDTO }, $F{kDTO}))[/code]

 

Error >>

net.sf.jasperreports.engine.JRException: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression for source text: new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{MainX_SCRIPTLET}.divider($F{tDTO}, $F{kDTO}))    at com.jaspersoft.studio.editor.preview.view.control.ReportController.fillReport(ReportController.java:536)    at com.jaspersoft.studio.editor.preview.view.control.ReportController.access$17(ReportController.java:511)    at com.jaspersoft.studio.editor.preview.view.control.ReportController$1.run(ReportController.java:429)    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)Caused by: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression for source text: new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{MainX_SCRIPTLET}.divider($F{tDTO}, $F{kDTO}))    at net.sf.jasperreports.engine.fill.JREvaluator.handleEvaluationException(JREvaluator.java:287)    at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:319)    at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:672)    at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:640)    at net.sf.jasperreports.components.list.FillDatasetRun.evaluate(FillDatasetRun.java:131)    at net.sf.jasperreports.components.list.BaseFillList.evaluate(BaseFillList.java:115)    at net.sf.jasperreports.engine.fill.JRFillComponentElement.evaluate(JRFillComponentElement.java:110)    at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:383)    at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:548)    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2583)    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:813)    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:264)    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:110)    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:615)    at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:135)    at java.lang.Thread.run(Thread.java:748)Caused by: java.lang.ArrayIndexOutOfBoundsException: 10    at java.util.Arrays$ArrayList.get(Arrays.java:3841)    at com.coderunner.jasperlistcheck.Main.divider(Main.java:25)    at MyReport2_1580874702404_406494.evaluate(MyReport2_1580874702404_406494:195)    at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:305)    ... 14 more[/code]

 

Link to comment
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Popular Days

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...