zoukankan      html  css  js  c++  java
  • 帆软设置下拉框参数为空选择全部

    使用参数进行报表数据查询时,如果控件中参数值为空(控件中不输入参数值),点击查询后,不会显示任何报表数据。如下图所示:

    Snag_47e0797.png

    我们需要实现的效果是,当控件中参数值为空,点击查询后,会显示报表中的全部数据。如下图所示:

    Snag_486498b.png

    第一种方式:模板参数为空

    给单元格 A2 添加数据过滤条件。双击 A2 单元格,在弹出的数据列对话框中选择过滤,添加一个普通条件,让数据列货主地区等于公式if(len($货主地区)==0,nofilter,$货主地区),点击增加,点击确定,即通过添加过滤条件的方式实现参数为空选全部的效果。

    注:nofilter 表示不过滤,if(len($货主地区)==0,nofilter,$货主地区) 表示参数「货主地区」为空,就不过滤数据,若不为空则以参数值进行过滤。

    Snag_4c9ba50.png

     第二种方式:数据集参数为空

    新建数据集ds1,输入数据库查询语句:

    SELECT * FROM 订单 

    WHERE 1=1  

    ${if(len(area) == 0,"","and 货主地区 = '" + area + "'")}

    在定义数据集参数时给它设置条件来实现参数为空选全部的效果,此时数据集参数为「area」。

    where 1=1 表示条件永真,防止没有参数条件时,where 后面没有有效内容导致出错。

    len(area)==0 表示参数「area」为空。

    "and 货主地区='"+area+"'" 中间的「area」表示取参数值,'+' 为字符串拼接符号。

    ${if(len(area) == 0,"","and 货主地区 = '" +area + "'")} 表示:

    参数「area」为空时,查询语句相当于:SELECT * FROM 订单

    当参数「area」不为空时,查询语句相当于:SELECT * FROM 订单 WHERE 1=1 and 货主地区='${area}'

    Snag_3a97f25.png

    摘自:下拉框参数为空选择全部 https://help.fanruan.com/finereport/doc-view-2394.html

  • 相关阅读:
    java笔记6 Java语言基本类; String和StringBuffer ;集合类;流,文件及文本应用:JDBC
    java笔记5
    java笔记4 异常处理
    java笔记3
    java课笔记2
    java课笔记1
    TEXT
    机器学习
    WordCountPro
    WCProject(java)
  • 原文地址:https://www.cnblogs.com/tk-bolg/p/13677674.html
Copyright © 2011-2022 走看看