如何在我的报告中显示LocalDate类型的字段?

时间:2015-03-25 18:46:11

标签: java jasper-reports javabeans

我正在使用NetBeans 8.0.2的IReport-5.6.0插件。

  1. 从数据预览中,所有数据都正常运行。
  2. 如果我删除该字段,则所有其他数据都会正确显示。
  3. 我有一个java.sql.Date字段。 当我使用Netbeans运行时,我收到以下错误:
  4. 如何在报告中显示此字段?。

        Caused by: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object '2015-03-22' with class 'java.time.LocalDate' to class 'java.sql.Date'
    at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.castToType(DefaultTypeTransformation.java:360)
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.castToType(ScriptBytecodeAdapter.java:599)
    at null_1427308438299_735647.evaluate(calculator_null_1427308438299_735647:170)
    at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:250)
    ... 77 more
    

    我的jrxml中的查询部分:

    <queryString language="SQL">
                <![CDATA[SELECT
             USER."NAME" AS name,
             USER."EMAIL" AS email,
             USER."BIRTHDAY" AS birthday
        FROM
             "PUBLIC"."USER" USER]]>
            </queryString>
            <field name="name" class="java.lang.String"/>
            <field name="email" class="java.lang.String"/>
            <field name="birthday" class="java.sql.Date"/>
    

    我的java类有以下方法:

    private void printOut(ActionEvent event) throws JRException {
        String report = "report1.jrxml";
        JRBeanCollectionDataSource beanCollectionDataSource = new JRBeanCollectionDataSource(data); 
        JasperReport jas_rep = JasperCompileManager.compileReport(report) ;
        JasperPrint jas_prin = JasperFillManager.fillReport(jas_rep,null,beanCollectionDataSource);
        JasperViewer.viewReport(jas_prin);
    }
    

0 个答案:

没有答案