JasperReports计算源文本的表达式时出错

时间:2019-07-11 15:03:21

标签: java jasper-reports

当我在JasperSoft Studio上测试报告时,它运行良好。

error

但是当我导出报告并在主项目中对其进行测试时,出现此错误:

  

评估源文本的表达式时出错:   IF($ F {jdpmarc} .equals(“”),new java.math.BigDecimal(0),$ F {jdpprit})

我已经尝试过这些事情:

更改此表达式,因为它是BigDecimal操作

IF($F{jdpmarc}.equals(""), 0,$F{jdpprit})

为此

IF($F{jdpmarc}.equals(""),new java.math.BigDecimal(0),$F{jdpprit})

这是我的代码:

Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/db","user", "password");

    HashMap<String, Object> data = new HashMap<String, Object>();
    data.put("Proforma", 67929);

    String reportPath = "ReporteIva.jasper";

    JasperPrint report = JasperFillManager.fillReport(reportPath, data, conn);

    JasperViewer viewer = new JasperViewer(report);
    viewer.setVisible(true);

1 个答案:

答案 0 :(得分:0)

尝试使用三元运算符

$F{jdpmarc}.equals("") ? new java.math.BigDecimal(0) : $F{jdpprit}