1. 概述编辑
1.1 需求描述
当模板中有多个参数下拉框时,后面参数下拉框的选项需根据前面参数的值而改变。如下图中,省份选项需跟随地区所选值而相应变动,城市选项需跟随地区、省份所选值相应变动。
1.2 实现思路
新增数据集作为各个参数框的数据字典,在后面参数框数据集中引用前面的参数作过滤。
2. 操作步骤编辑
2.1 准备数据
新建普通报表,新建数据集ds1,SQL 语句为:
SELECT * FROM 订单 where 货主地区='${area}' and 货主省份='${province}' and 货主城市='${city}'
2.2 设计表格
如下图设计表格,将字段拖入到对应单元格中:
2.3 添加参数控件
编辑参数面板,点击右侧组件设置上方的全部添加,生成参数控件,分别点击地区、省份、城市参数框,选择下拉框控件
2.4 添加参数框选项数据集
2.4.1 地区选项
新建数据集地区选项:select distinct 货主地区 from 订单,由于地区是第一个参数,可以任意选择,因此不需要联动过滤(此处distinct关键字是为了去重)
2.4.2 省份选项
新建数据集省份选项:SELECT distinct 货主省份 FROM 订单 where 货主地区='${area}',因为省份需要根据地区值的不同显示相应的省份,所以需要设置地区过滤参数(此处distinct关键字是为了去重)
2.4.3 城市选项
新建数据集城市选项:SELECT distinct 货主城市 FROM 订单 where 货主地区='${area}' and 货主省份='${province}',因为城市需要根据地区值、省份值的不同显示相应的城市,所以需要设置地区、省份过滤参数(此处distinct关键字是为了去重)
2.5 设置参数下拉框的数据字典
分别选择地区、省份、城市下拉框,设置数据字典为数据查询,分别选择对应的数据集(地区选项、省份选项、城市选项)
注:地区、省份控件的控件名必须跟省份、城市数据集中的参数名保持一致才可以联动
2.6 效果预览
2.6.1 PC端预览效果
保存模板,点击分页预览,效果如下图所示:
2.6.2 移动端预览效果
移动端预览模板,效果如下图所示: