数据过滤
教学视频
说明
报表对已经定义好的数据集中的数据支持内存数据过滤处理机制,这样可以在报表中展示那些我们真正感兴趣的数据。
数据过滤是针对绑定数据集字段的单元格进行设置的,所以利用数据过滤机制实现数据显示的数据过滤是很容易实现的,同时我们也可以利用父子格的关系也可以实现一些其它的效果,例如父子数据过滤等。
数据过滤采用的是:<条件左值> 条件比较符 <条件右值> 的表示方式
条件左值
其中条件左值可以选择当前单元格绑定字段所在数据集的一个字段:

条件比较符
条件比较符可以支持多种匹配方式:

| 比较符 | 值 |
|---|---|
| 等于 | == |
| 大于 | > |
| 小于 | < |
| 大于等于 | >= |
| 小于等于 | <= |
| 不等于 | != |
| 包含 | contains |
| 不包含 | notContains |
| 开始于 | startsWith |
| 不开始于 | notStartsWith |
| 结束于 | endsWith |
| 不结束于 | notEndsWith |
| 在集合中 | in |
| 不在集合中 | notIn |
说明:
==、!=、>=、<=、>、<、in、not in等符号在表达式语法(ReportLexer.g4的OP规则)中定义;contains、startsWith、endsWith等单词形式的比较符在过滤器解析(Op.java)中使用。
条件右值类型
条件右值类型支持两种,分别为表达式过滤和数据集过滤:
| 过滤方式 | 说明 |
|---|---|
| 表达式过滤 | 利用表达式对数据集中的某个字段做规则计算,复合条件的数据才允许在报表中显示 |
| 数据集过滤 | 利用不同数据集中的数据进行过滤设置 |
多条件数据过滤
对数据的过滤也支持多个条件设置,多个条件之间可以设置and或or的逻辑关系:
