1. 内容概述
通过上一示例的介绍,我们了解到为查询参数设置“可用数据”之后,参数的输入方式将从文本框变为下拉列表框。
而普通查询参数只能选择一个项目,例如按类别查询产品时,每次只能查看一个类别的产品清单。如果希望一次选择多个产品类别,就需要用到多选下拉列表。
下图为多选下拉列表的应用效果。
![](/download/attachments/71031424/image2020-6-9_17-45-42.png?version=1&modificationDate=1647595159000&api=v2)
Wyn支持两种实现多选下拉列表的方法,下面分别为您进行介绍这两种方法。
2. 方法一:在报表中实现
(1) 先定义一个数据集如“产品类别”。添加基于WynDemoDataV3的内嵌数据集。
配置数据集名称为“产品类别”,查询语句为:select distinct 类别名称 from 销售明细。然后单击“验证”和“确定”保存数据集定义。
![](/download/attachments/71031424/image2019-8-21_9-9-0.png?version=1&modificationDate=1647595158000&api=v2)
(2) 添加一个报表参数,将“参数名称”修改为“Type”,“提示文本”修改为“产品类别:”,“数据类型”设置为“字符串型”。
打开“多值数据”右侧的开关,使之变为“是”。
在“可用数据”部分,从数据集名称下拉框中选择上面定义的“产品类别”数据集,在数据字段下拉框中选择“类别名称”,在标签字段下拉框中选择“类别名称”,如下图。
![](/download/attachments/71031424/image2020-6-9_17-42-0.png?version=1&modificationDate=1647595159000&api=v2)
其中,“数据字段”的值将作为传给数据集SQL语句的实际参数值;“标签字段”的值则是显示在下拉列表框中的字符串。
这样设置了可用数据、并且打开了多值数据开关的查询参数。在报表查看页面的参数栏中,就会以下拉列表框的形式来显示,并且用户可以一次选择多个参数。如下图:
![](/download/attachments/71031424/image2020-6-9_17-42-31.png?version=1&modificationDate=1647595159000&api=v2)
(2) 接下来,定义带查询参数的数据集。添加基于WynDemoDataV3的内嵌数据集。
为数据集添加新的查询参数,然后设置参数值表达式为:{@Type}。在“查询语句”中输入带参数的SQL语句:select * from 销售明细 where 类别名称 IN (@查询参数1),如下图。
设置完成后,单击“验证”和“确定”按钮,保存数据集的定义。
![](/download/attachments/71031424/image2020-10-13_16-44-43.png?version=1&modificationDate=1647595159000&api=v2)
(4) 从工具箱拖放一个表格到设计区,然后单元格中均绑定数据集1的相应字段,如下图所示。
![](/download/attachments/71031424/image2020-11-2_15-11-41.png?version=1&modificationDate=1647595159000&api=v2)
(5) 预览报表,就可以看到下拉框式的查询参数。用户可以逐个勾选想要查询的多个产品类别(输入关键字可自动检索),也可以选择“(全选)”以选中所有的类别,从而实现按多个类别查询产品列表的需求。如下图:
![](/download/attachments/71031424/image2020-6-9_17-45-35.png?version=1&modificationDate=1647595159000&api=v2)
![](/download/thumbnails/71031424/%E7%BB%93%E6%9D%9F.png?version=1&modificationDate=1647595159000&api=v2)
3. 方法二:在数据集中实现
(1) 在首界面,单击
,为报表准备数据。
(2) 在弹出的窗口中选择“直连数据集”。
(3) 选择数据源“WynDemoDataV3”,单击“参数”,添加参数如下图所示。
![](/download/attachments/71031424/image2020-11-2_15-13-33.png?version=1&modificationDate=1647595159000&api=v2)
(4) 添加自定义表,输入SQL查询语句:select * from 销售明细 where 类别名称 IN (@Type),如下图所示。
![](/download/attachments/71031424/image2020-11-2_15-14-32.png?version=1&modificationDate=1647595159000&api=v2)
(5) 将自定义表拖拽到右侧的关联关系设置面板中,并保存数据集,例如名为“数据集1”。
![](/download/attachments/71031424/image2020-11-2_15-15-33.png?version=1&modificationDate=1647595159000&api=v2)
(6) 新建报表,在报表设计器的右侧,选择数据绑定设置面板,单击数据集后的“添加”,选择刚才创建的“数据集1”数据集。
添加完数据集后,数据集中的参数也将显示在查询字段列表中。
![](/download/attachments/71031424/image2020-6-9_17-55-23.png?version=1&modificationDate=1647595159000&api=v2)
(7) 再定义一个数据集“产品类别”。
添加基于WynDemoDataV3的内嵌数据集,配置数据集名称为“产品类别”,查询语句为:select distinct 类别名称 from 销售明细。然后单击“验证”和“确定”保存数据集定义。
![](/download/attachments/71031424/image2019-8-21_9-41-53.png?version=1&modificationDate=1647595159000&api=v2)
(8) 将报表参数的提示文本修改为“产品类别:”,打开多值数据右侧的开关。
在可用数据部分,从数据集名称下拉框中选择上面定义的“产品类别”数据集,在数据字段下拉框中选择“类别名称”,在标签字段下拉框中选择“类别名称”,如下图。
![](/download/attachments/71031424/image2020-6-9_17-56-26.png?version=1&modificationDate=1647595159000&api=v2)
(9) 从工具箱拖放一个表格到设计区,然后单元格中均绑定数据集1的相应字段,如下图所示。
![](/download/attachments/71031424/image2020-11-2_15-12-8.png?version=1&modificationDate=1647595159000&api=v2)
(10) 预览报表,就可以看到下拉框式的查询参数。用户可以逐个勾选想要查询的多个产品类别(输入关键字可自动检索),也可以选择“(全选)”以选中所有的类别,从而实现按多个类别查询产品列表的需求。如下图:
![](/download/attachments/71031424/image2020-6-9_18-3-35.png?version=1&modificationDate=1647595159000&api=v2)
![](/download/thumbnails/71031424/%E7%BB%93%E6%9D%9F.png?version=1&modificationDate=1647595159000&api=v2)