我收到以下错误:
填写print时出错... java.lang.String无法强制转换为java.lang.Boolean java.lang.ClassCastExecption:java.lang.String无法强制转换为java.lang.Boolean
问题似乎来自属性中的Filter Expression。只要我让一个空白字段,我就会收到此错误。如果我尝试在该字段中放置一个返回布尔值的表达式,例如$ F {id_dataset} .equals($ F {id_dataset}),则错误会一直显示。
有什么想法吗?
日志:
错误填充打印... java.lang.String中不能转换到java.lang.Boolean的 java.lang.ClassCastException:java.lang.String中不能转换为一个java.lang.Boolean 在net.sf.jasperreports.engine.fill.JRFillElement.evaluatePrintWhenExpression(JRFillElement.java:795) 在net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:482) 在net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:259) 在net.sf.jasperreports.components.list.FillListContents.evaluateContents(FillListContents.java:79) 在net.sf.jasperreports.components.list.VerticalFillList.prepare(VerticalFillList.java:101) 在net.sf.jasperreports.engine.fill.JRFillComponentElement.prepare(JRFillComponentElement.java:151) 在net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:331) 在net.sf.jasperreports.engine.fill.JRFillFrame.prepare(JRFillFrame.java:217) 在net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:331) 在net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:384) 在net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:358) 在net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2059) 在net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:778) 在net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:288) 在net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:151) 在net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:939) 在net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:852) 在net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:87) 在net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:446) 在net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:276) 在net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:745) 在com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:891) 在org.openide.util.RequestProcessor $ Task.run(RequestProcessor.java:572) 在org.openide.util.RequestProcessor $ Processor.run(RequestProcessor.java:997) 打印未填写。尝试使用EmptyDataSource ...
我正在使用: Jaspersorf iReport Designer 5.5.1
答案 0 :(得分:0)
我不理解语法" $ F {id_dataset} .equals($ F {id:dataset})"。
什么是" $ F {id:dataset}"。
如果您想使用if then else条件,请使用以下内容: -
column.equals("value") ?(Then) Column_Name : (Else) (Column_name)
$F{id_dataset}.equals( $F{id} )? $F{id} : $F{id_dataset}