• ireport5.6+jasperreport6.3开发(四)--以javabean为基准的报表开发(ireport)


    javabean完成以后就是添加ireport的报表了

    打开ireport的option然后在classpath中添加路径。

    然后在ireport中追加数据源如图,点击图标后会出现数据源列表然后按new会出现bean的选择

    next后会让你输入工厂类,和方法名,还有返回的属性这里我用的是数组。然后点击测试成功表明没有问题了。

    接下来就是追加field如下图,选择你的数据bean类然后自动读取,选择需要的项目进行追加。

     在报表上进行编辑记得字体要选宋体

     preview后发觉成功

    接下来是做子表的图表显示这里使用自报表的形式(不用也可以具体情况具体分析 只是例子不用纠结)

    使用subreport建立一个自报表(建立方法请自行查找 注意 数据源请选择empty的)

     

    然后在自报表中加入child field方法略 注意是自报表

    然后再summary中加入饼图 配置是name做分类degree做数据。然后preview

     

    预览后的结果 这说明子表已经完成,然后是在附表中配置字表的数据源

    将主报表中的child类型从list改为net.sf.jasperreports.engine.data.JRBeanCollectionDataSource

    这里提一下如果是数组的话用net.sf.jasperreports.engine.data.JRBeanArrayDataSource

    然后在自报表datasource属性中加入 $F{child} 注意connectiontype 选datasource的然后将数据源设定为主表数据源

    preview结果下面的结果就是这却的

    在最后 所有的结合数据源都是需要jrdatasource的所以 不管原来list也好数组也好,都需要转换为jrdatasource类型。

    还有就是不用自报表也能实现饼图 就是直接拖一个饼图然后追加一个数据源,最后这个数据源和child进行关联即可。网上有例子就不贴了。

  • 相关阅读:
    coco2d-js demo程序之滚动的小球
    【leetcode】Happy Number(easy)
    【leetcode】Remove Linked List Elements(easy)
    【leetcode】LRU Cache(hard)★
    【QT】计时器制作
    【leetcode】Min Stack(easy)
    【leetcode】Compare Version Numbers(middle)
    【leetcode】Excel Sheet Column Title & Excel Sheet Column Number (easy)
    【leetcode】Binary Search Tree Iterator(middle)
    【leetcode】Number of Islands(middle)
  • 原文地址:https://www.cnblogs.com/spchenjie/p/5806819.html
Copyright © 2020-2023  润新知