条件过滤

教学视频

概述

从给定的结果集中获取符合要求的数据,比如下面的员工记录,我们需要获取所有性别为true类型的数据,如下图所示:

image-20211026153016468

要实现上述报表,有三种方法:

  1. 在数据集定义时,直接通过SQL取出符合条件的数据,如:select * from employee where sex=true。
  2. 在报表设计页中通过单元格的数据集过滤实现。
  3. 通过配置查询表单,通过查询表单中的过滤框解决。

方法一比较简单,这里不再赘述,这里主要介绍第二、三种方法。

方法二:单元格数据过滤实现

定义好报表模版如下图所示:

image-20211026153843909

选中A1单元格,在属性面板中切换到数据过滤页签,如下图:

image-20211026154016705

在条件左值中选择SEX列,比较符用等于,条件右值输入表达式true,然后点击边上的image-20211026154241535图标,添加该条件,如下图:

image-20211026154343678

保存预览,展示的数据既为所有性别为true类型的数据。

方法三:通过查询表单过滤

将当前报表绑定的数据集查询SQL修改为:select * from employee where sex=${$p1}。

在这个SQL当中添加了sex字段的过滤条件,条件值为表达式$p1,在SQL中使用表达式要放在${}中,上面的$p1为引用一个名为p1的参数,所以接下来需要我们定义一个名为p1的参数,表达式中引用参数要以$符号开头。

点击工具栏上面的报表配置图标,在弹出窗口中的第一个报表参数页签中定义一个名为p1的参数,类型为布尔,默认值为true,如下图所示:

image-20211026160635480

回到报表设计页面,切换到查询表单页签,将工具栏上的名为p1的参数拖到工作区,选择生成的控件,将绑定组件类型改为下拉框,并将标题改为性别:,同时将绑定数据集类型改为自定义,并添加两条自定义的记录,如下图:

image-20211026161128772

最后将工具栏上的查询按钮拖到工作区,效果如下图所示:

image-20211026161237506

保存预览报表,如下图所示:

image-20211026161431937

因为p1参数的默认值为true,所以默认显示的就是所有sex值为true的员工信息,我们也可以通过表单中的下拉框来修改性别类型,然后点击查询过滤,如下图所示:

demo

results matching ""

    No results matching ""