查询参数不仅可以用于过滤展示在报表中的数据集数据,也可以用于过滤其他参数的【可用数据】所绑定的其他数据集,从而实现级联过滤的查询效果。
下面介绍一个典型的级联过滤的应用示例。在此示例中,报表展示的内容为某个城市的客户名录,为了方便城市的选择,先按大区(比如华北)过滤出该大区的城市列表,然后从下拉列表中选择一个城市,再查看该城市的客户列表。
先定义一个【地区】数据集,其查询语句如下:
select distinct 地区 from FuzzyQuery
如下图:
以此数据集为基础,添加一个查询参数,如下图:
以此参数作为查询条件,定义第二个数据集【城市】,其查询语句为:
select distinct 城市 from FuzzyQuery where 地区 = ?
如下图:
以此【城市】数据集为基础,定义第二个查询参数,如下图:
现在定义最终展示在报表中的数据集,其查询语句为:
select * from FuzzyQuery where 城市 = ?
如下图:
从工具箱拖放一个表格到设计区,绑定【客户名录】数据集的字段,再设置一下表格样式,如下图:
预览报表内容,如下图:
先选择【地区】,再选择【城市】,然后点击【预览报表】按钮,报表内容将是所选城市的客户名录。