反馈已提交

网络繁忙

多控件查询

  • 文档创建者:Catqiu
  • 编辑次数:5次
  • 最近更新:RosieY 于 2021-12-10
  • 1. 概述

    1.1 预期效果

    通过 控件筛选查询 ,可以实现单个参数、单个控件过滤数据,如果想要实现多个控件过滤数据,该怎么做呢?

    如下图所示,想要查询一定时间范围内的数据:

    1639103925658779.png

    1.2 实现思路

    多个控件查询和单个控件查询思路基本一致,唯一的不同点为多个控件查询对应多个参数,所以多控件查询只需要在 控件筛选查询 的基础上稍作修改即可,也是通过数据集参数和模板参数两种方法实现。

    • 数据集参数:在数据查询中定义数据集参数时,定义多个参数。

    • 模板参数:定义多个模板参数,报表中添加多个过滤条件。

    2. 实现方法

    2.1 数据集参数

    数据集参数 是定义在 SQL 语句中的参数,即在 SQL 查询数据时,就实现了数据的过滤。如果你的数据是从数据库查询获得,推荐使用此方法。

    2.1.1 定义数据集参数

    通过数据集参数实现数据筛选过滤,首先要定义数据集参数。如预期效果中我们要实现一个日期范围查询,需要开始时间和结束时间,则在定义数据集的时候就要分别定义开始时间和结束时间参数。定义如下:

    SELECT * FROM 订单 where 1=1 and 订购日期>='${starttime}' and 订购日期<'${endtime}'

    这里定义了两个参数 starttime 和 endtime,分别对应开始时间和结束时间。如下图所示:

    2.1.2 绑定过滤控件

    2.1.1 节中已经定义好了数据集参数,如果要实现查询就必须绑定一个控件。点击参数面板,在参数面板「组件设置」处可以看到定义的 starttime 和 endtime 参数,点击将其添加在参数面板中,因为要查询时间,这里我们将其类型选择为「日期控件」。如下图所示:

    2.1.3 设计报表实现过滤

    将 ds1 数据集的数据列拖到报表中,设计报表样式,如下图所示:

    保存模板,点击预览,在日期控件中选择开始日期和结束日期传递给 starttime 和 endtime 参数,则执行 SQL 语句查询出不同日期范围内的值。如下图所示:

    1601202726731324.png

    2.2 模板参数

    模板参数 实现方法是将数据列添加在单元格中后再过滤,适合内置数据集或者文件数据集使用。若你定义了一个全局参数想要实现过滤,或者想要通过系统参数过滤,也可以参考此方法。

    2.2.1 定义模板参数

    定义模板参数  starttime 和 endtime 。如下图所示:

    2.2.2 添加过滤控件

    2.2.1 节中已经定义好了数据集参数,如果要实现查询就必须绑定一个控件。点击参数面板,在参数面板「组件设置」处可以看到定义的 starttime 和 endtime 参数,点击将其添加在参数面板中,因为要查询时间,这里我们将其类型选择为「日期控件」。如下图所示:

    2.2.3 添加过滤条件

    新建数据集,SQL 语句为:SELECT * FROM 订单,即默认查询订单表中所有数据。将数据列添加到单元格中,并设置报表样式,如下图所示:


    这时默认是所有数据,如果要实现查询,就必须添加过滤条件,双击 A2 单元格,为其添加过滤条件。过滤条件有两个

    • 订购日期这一列的值大于或者等于参数 starttime

    • 订购日期这一列的值小于参数 endtime

    如下图所示:

    保存模板,点击预览,在日期控件中选择开始日期和结束日期传递给 starttime 和 endtime 参数,报表以传递的参数值过滤,这样就实现了两个控件筛选查询。如下图所示:

    1601202726731324.png

    附件列表


    主题: 参数应用
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭