zoukankan      html  css  js  c++  java
  • FineReport父子格实现动态参数注入

      “深入学习FineReport后发现其功能及其强大,之前使用存储过程实现的报表完全可以使用FineReport本身的功能实现。

    当你需要的表名,查询条件等均未知的时候,使用“动态参数注入”即可实现将一个查询的结果集当成另一个查询的条件,甚至表名来使用。

    使用动态参数注入的时候同时要配合父子格的使用。

    一、父子格

      父子格一般用于,单元格拓展,当不选择父格的时候,查询结果会沿选择的拓展方向自动拓展,如果选择了父格,查询结果会跟随父格一起拓展。如果选择不拓展,查询结果会以逗号分隔占一个单元格。

    选择父格的操作有两种,一种双击单元格配置,一种选中单元格后在右侧配置。

    二、动态参数注入

      选择父格后就可以选择动态参数注入,假如我的结果集需要一个动态的表名才能查出来,SQL如下

    SELECT ORGAN_NAME FROM SYS_ORGAN ${if(len(TABLENAME)=0, "where id in ('')", 'WHERE ID IN (SELECT DEP_ID FROM '+TABLENAME+' GROUP BY DEP_ID)')}

    这个时候我可以在单元格里动态注入TABLENAME,如下

    这里的A25为单元格A25,放的是另一个结果集查到的表名,并且设置为父格,即可实现动态参数注入。

     

    通过动态参数注入的方法可以解决很多问题,也不需要再用存储过程这种比较麻烦的方法了。

  • 相关阅读:
    scrapy user-agent随机更换
    python框架Scrapy中crawlSpider的使用——爬取内容写进MySQL
    异步代理池2--正确实现并发
    python asyncio异步代理池
    SSH 上传下载文件
    scrapy 自定义扩展
    scrapy pipelines 以及 cookies
    scrapy 去重策略修改
    提车注意事项
    mysql 笔记
  • 原文地址:https://www.cnblogs.com/huangjian2/p/6085301.html
Copyright © 2011-2022 走看看