Vector <vector> Receipt如何用作JasperReports DataSource with Java?</vector>

时间:2012-03-21 18:45:04

标签: jasper-reports

我有一个Vector receiptOrder,我想使用iReport将该收据打印到热敏打印机。

我得到3个班级:

    实现 JRDataSource

  • MyDataSourceProvider 实现 JRDataSourceProvider

  • 实现 JRField

如何使用该向量设置JasperReports数据源?

  • 我做了这个改变。

    • 加载jrxml个文件

      JasperDesign jasperDesign = JRXmlLoader.load("c:/PrintReceipt.jrxml");
      JasperReport jr = JasperCompileManager.compileReport(jasperDesign);
      
    • orderRows Vector<Vector>传递给MyDataSourceProvider,然后创建datasource

      JRDataSourceProvider dsp = new MyDataSourceProvider(orderRows);
      JRDataSource dataSource = dsp.create(jr);
      JasperPrint jasperPrint = JasperFillManager.fillReport(jr, new HashMap(), dataSource);
      JasperExportManager.exportReportToPdfFile(jasperPrint, "c:/test.pdf");
      JasperViewer.viewReport(jasperPrint);
      
  • 但JasperReport显示空视图,test.pdf也是空的。

  • 任何想法......?

1 个答案:

答案 0 :(得分:1)

  • 我修复了我的问题
  • MyDataSourceProvider fields引起的问题与ireport.jrxml fields
  • 不匹配
  • 我解决了这个问题一切正常